/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] (9) YES (10) QDP (11) DependencyGraphProof [EQUIVALENT, 0 ms] (12) AND (13) QDP (14) TransformationProof [EQUIVALENT, 0 ms] (15) QDP (16) DependencyGraphProof [EQUIVALENT, 0 ms] (17) QDP (18) TransformationProof [EQUIVALENT, 0 ms] (19) QDP (20) UsableRulesProof [EQUIVALENT, 0 ms] (21) QDP (22) TransformationProof [EQUIVALENT, 0 ms] (23) QDP (24) UsableRulesProof [EQUIVALENT, 0 ms] (25) QDP (26) QReductionProof [EQUIVALENT, 0 ms] (27) QDP (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] (29) YES (30) QDP (31) TransformationProof [EQUIVALENT, 0 ms] (32) QDP (33) TransformationProof [EQUIVALENT, 0 ms] (34) QDP (35) QDPSizeChangeProof [EQUIVALENT, 17 ms] (36) YES (37) QDP (38) MNOCProof [EQUIVALENT, 0 ms] (39) QDP (40) InductionCalculusProof [EQUIVALENT, 0 ms] (41) QDP (42) TransformationProof [EQUIVALENT, 0 ms] (43) QDP (44) DependencyGraphProof [EQUIVALENT, 0 ms] (45) AND (46) QDP (47) UsableRulesProof [EQUIVALENT, 0 ms] (48) QDP (49) QReductionProof [EQUIVALENT, 0 ms] (50) QDP (51) TransformationProof [EQUIVALENT, 0 ms] (52) QDP (53) DependencyGraphProof [EQUIVALENT, 0 ms] (54) AND (55) QDP (56) UsableRulesProof [EQUIVALENT, 0 ms] (57) QDP (58) QReductionProof [EQUIVALENT, 0 ms] (59) QDP (60) TransformationProof [EQUIVALENT, 0 ms] (61) QDP (62) TransformationProof [EQUIVALENT, 0 ms] (63) QDP (64) TransformationProof [EQUIVALENT, 0 ms] (65) QDP (66) TransformationProof [EQUIVALENT, 0 ms] (67) QDP (68) DependencyGraphProof [EQUIVALENT, 0 ms] (69) QDP (70) TransformationProof [EQUIVALENT, 0 ms] (71) QDP (72) DependencyGraphProof [EQUIVALENT, 0 ms] (73) QDP (74) TransformationProof [EQUIVALENT, 0 ms] (75) QDP (76) TransformationProof [EQUIVALENT, 0 ms] (77) QDP (78) TransformationProof [EQUIVALENT, 0 ms] (79) QDP (80) TransformationProof [EQUIVALENT, 0 ms] (81) QDP (82) DependencyGraphProof [EQUIVALENT, 0 ms] (83) QDP (84) TransformationProof [EQUIVALENT, 0 ms] (85) QDP (86) DependencyGraphProof [EQUIVALENT, 0 ms] (87) QDP (88) TransformationProof [EQUIVALENT, 0 ms] (89) QDP (90) TransformationProof [EQUIVALENT, 0 ms] (91) QDP (92) TransformationProof [EQUIVALENT, 0 ms] (93) QDP (94) TransformationProof [EQUIVALENT, 0 ms] (95) QDP (96) DependencyGraphProof [EQUIVALENT, 0 ms] (97) QDP (98) QDPSizeChangeProof [EQUIVALENT, 0 ms] (99) YES (100) QDP (101) UsableRulesProof [EQUIVALENT, 0 ms] (102) QDP (103) TransformationProof [EQUIVALENT, 0 ms] (104) QDP (105) DependencyGraphProof [EQUIVALENT, 0 ms] (106) AND (107) QDP (108) TransformationProof [EQUIVALENT, 0 ms] (109) QDP (110) TransformationProof [EQUIVALENT, 0 ms] (111) QDP (112) TransformationProof [EQUIVALENT, 0 ms] (113) QDP (114) TransformationProof [EQUIVALENT, 0 ms] (115) QDP (116) TransformationProof [EQUIVALENT, 0 ms] (117) QDP (118) TransformationProof [EQUIVALENT, 0 ms] (119) QDP (120) TransformationProof [EQUIVALENT, 0 ms] (121) QDP (122) DependencyGraphProof [EQUIVALENT, 0 ms] (123) QDP (124) TransformationProof [EQUIVALENT, 0 ms] (125) QDP (126) TransformationProof [EQUIVALENT, 0 ms] (127) QDP (128) DependencyGraphProof [EQUIVALENT, 0 ms] (129) QDP (130) QDPOrderProof [EQUIVALENT, 0 ms] (131) QDP (132) DependencyGraphProof [EQUIVALENT, 0 ms] (133) TRUE (134) QDP (135) TransformationProof [EQUIVALENT, 0 ms] (136) QDP (137) DependencyGraphProof [EQUIVALENT, 0 ms] (138) AND (139) QDP (140) TransformationProof [EQUIVALENT, 0 ms] (141) QDP (142) TransformationProof [EQUIVALENT, 0 ms] (143) QDP (144) TransformationProof [EQUIVALENT, 0 ms] (145) QDP (146) TransformationProof [EQUIVALENT, 0 ms] (147) QDP (148) TransformationProof [EQUIVALENT, 0 ms] (149) QDP (150) TransformationProof [EQUIVALENT, 0 ms] (151) QDP (152) TransformationProof [EQUIVALENT, 0 ms] (153) QDP (154) TransformationProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) DependencyGraphProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) QDPOrderProof [EQUIVALENT, 0 ms] (163) QDP (164) DependencyGraphProof [EQUIVALENT, 0 ms] (165) TRUE (166) QDP (167) InductionCalculusProof [EQUIVALENT, 3 ms] (168) QDP (169) QDP (170) UsableRulesProof [EQUIVALENT, 0 ms] (171) QDP (172) QReductionProof [EQUIVALENT, 0 ms] (173) QDP (174) TransformationProof [EQUIVALENT, 0 ms] (175) QDP (176) DependencyGraphProof [EQUIVALENT, 0 ms] (177) AND (178) QDP (179) UsableRulesProof [EQUIVALENT, 0 ms] (180) QDP (181) QReductionProof [EQUIVALENT, 0 ms] (182) QDP (183) TransformationProof [EQUIVALENT, 0 ms] (184) QDP (185) DependencyGraphProof [EQUIVALENT, 0 ms] (186) AND (187) QDP (188) UsableRulesProof [EQUIVALENT, 0 ms] (189) QDP (190) QReductionProof [EQUIVALENT, 0 ms] (191) QDP (192) TransformationProof [EQUIVALENT, 0 ms] (193) QDP (194) TransformationProof [EQUIVALENT, 0 ms] (195) QDP (196) TransformationProof [EQUIVALENT, 0 ms] (197) QDP (198) TransformationProof [EQUIVALENT, 0 ms] (199) QDP (200) DependencyGraphProof [EQUIVALENT, 0 ms] (201) QDP (202) TransformationProof [EQUIVALENT, 0 ms] (203) QDP (204) DependencyGraphProof [EQUIVALENT, 0 ms] (205) QDP (206) TransformationProof [EQUIVALENT, 0 ms] (207) QDP (208) TransformationProof [EQUIVALENT, 0 ms] (209) QDP (210) TransformationProof [EQUIVALENT, 0 ms] (211) QDP (212) DependencyGraphProof [EQUIVALENT, 0 ms] (213) QDP (214) TransformationProof [EQUIVALENT, 0 ms] (215) QDP (216) TransformationProof [EQUIVALENT, 0 ms] (217) QDP (218) DependencyGraphProof [EQUIVALENT, 0 ms] (219) QDP (220) TransformationProof [EQUIVALENT, 0 ms] (221) QDP (222) TransformationProof [EQUIVALENT, 0 ms] (223) QDP (224) TransformationProof [EQUIVALENT, 0 ms] (225) QDP (226) DependencyGraphProof [EQUIVALENT, 0 ms] (227) QDP (228) TransformationProof [EQUIVALENT, 0 ms] (229) QDP (230) QDPSizeChangeProof [EQUIVALENT, 0 ms] (231) YES (232) QDP (233) UsableRulesProof [EQUIVALENT, 0 ms] (234) QDP (235) TransformationProof [EQUIVALENT, 0 ms] (236) QDP (237) DependencyGraphProof [EQUIVALENT, 0 ms] (238) AND (239) QDP (240) TransformationProof [EQUIVALENT, 0 ms] (241) QDP (242) TransformationProof [EQUIVALENT, 0 ms] (243) QDP (244) TransformationProof [EQUIVALENT, 0 ms] (245) QDP (246) TransformationProof [EQUIVALENT, 0 ms] (247) QDP (248) TransformationProof [EQUIVALENT, 0 ms] (249) QDP (250) TransformationProof [EQUIVALENT, 0 ms] (251) QDP (252) TransformationProof [EQUIVALENT, 0 ms] (253) QDP (254) DependencyGraphProof [EQUIVALENT, 0 ms] (255) QDP (256) TransformationProof [EQUIVALENT, 0 ms] (257) QDP (258) TransformationProof [EQUIVALENT, 0 ms] (259) QDP (260) DependencyGraphProof [EQUIVALENT, 0 ms] (261) QDP (262) QDPOrderProof [EQUIVALENT, 0 ms] (263) QDP (264) DependencyGraphProof [EQUIVALENT, 0 ms] (265) TRUE (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) DependencyGraphProof [EQUIVALENT, 0 ms] (270) AND (271) QDP (272) TransformationProof [EQUIVALENT, 0 ms] (273) QDP (274) TransformationProof [EQUIVALENT, 0 ms] (275) QDP (276) TransformationProof [EQUIVALENT, 0 ms] (277) QDP (278) TransformationProof [EQUIVALENT, 0 ms] (279) QDP (280) TransformationProof [EQUIVALENT, 0 ms] (281) QDP (282) TransformationProof [EQUIVALENT, 0 ms] (283) QDP (284) TransformationProof [EQUIVALENT, 0 ms] (285) QDP (286) TransformationProof [EQUIVALENT, 0 ms] (287) QDP (288) TransformationProof [EQUIVALENT, 0 ms] (289) QDP (290) DependencyGraphProof [EQUIVALENT, 0 ms] (291) QDP (292) TransformationProof [EQUIVALENT, 0 ms] (293) QDP (294) QDPOrderProof [EQUIVALENT, 0 ms] (295) QDP (296) DependencyGraphProof [EQUIVALENT, 0 ms] (297) TRUE (298) QDP (299) InductionCalculusProof [EQUIVALENT, 0 ms] (300) QDP (301) QDP (302) UsableRulesProof [EQUIVALENT, 0 ms] (303) QDP (304) QReductionProof [EQUIVALENT, 0 ms] (305) QDP (306) TransformationProof [EQUIVALENT, 0 ms] (307) QDP (308) DependencyGraphProof [EQUIVALENT, 0 ms] (309) QDP (310) TransformationProof [EQUIVALENT, 0 ms] (311) QDP (312) TransformationProof [EQUIVALENT, 0 ms] (313) QDP (314) TransformationProof [EQUIVALENT, 0 ms] (315) QDP (316) TransformationProof [EQUIVALENT, 0 ms] (317) QDP (318) DependencyGraphProof [EQUIVALENT, 0 ms] (319) QDP (320) TransformationProof [EQUIVALENT, 0 ms] (321) QDP (322) DependencyGraphProof [EQUIVALENT, 0 ms] (323) AND (324) QDP (325) UsableRulesProof [EQUIVALENT, 0 ms] (326) QDP (327) QReductionProof [EQUIVALENT, 0 ms] (328) QDP (329) TransformationProof [EQUIVALENT, 0 ms] (330) QDP (331) TransformationProof [EQUIVALENT, 0 ms] (332) QDP (333) TransformationProof [EQUIVALENT, 0 ms] (334) QDP (335) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (344) QDP (345) TransformationProof [EQUIVALENT, 0 ms] (346) QDP (347) TransformationProof [EQUIVALENT, 0 ms] (348) QDP (349) DependencyGraphProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (358) QDP (359) TransformationProof [EQUIVALENT, 0 ms] (360) QDP (361) QDPSizeChangeProof [EQUIVALENT, 0 ms] (362) YES (363) QDP (364) UsableRulesProof [EQUIVALENT, 0 ms] (365) QDP (366) QReductionProof [EQUIVALENT, 0 ms] (367) QDP (368) TransformationProof [EQUIVALENT, 0 ms] (369) QDP (370) DependencyGraphProof [EQUIVALENT, 0 ms] (371) QDP (372) TransformationProof [EQUIVALENT, 0 ms] (373) QDP (374) TransformationProof [EQUIVALENT, 0 ms] (375) QDP (376) TransformationProof [EQUIVALENT, 0 ms] (377) QDP (378) DependencyGraphProof [EQUIVALENT, 0 ms] (379) QDP (380) TransformationProof [EQUIVALENT, 0 ms] (381) QDP (382) TransformationProof [EQUIVALENT, 0 ms] (383) QDP (384) DependencyGraphProof [EQUIVALENT, 0 ms] (385) QDP (386) TransformationProof [EQUIVALENT, 0 ms] (387) QDP (388) TransformationProof [EQUIVALENT, 0 ms] (389) QDP (390) TransformationProof [EQUIVALENT, 0 ms] (391) QDP (392) DependencyGraphProof [EQUIVALENT, 0 ms] (393) QDP (394) TransformationProof [EQUIVALENT, 0 ms] (395) QDP (396) QDPSizeChangeProof [EQUIVALENT, 0 ms] (397) YES (398) QDP (399) UsableRulesProof [EQUIVALENT, 0 ms] (400) QDP (401) TransformationProof [EQUIVALENT, 0 ms] (402) QDP (403) TransformationProof [EQUIVALENT, 0 ms] (404) QDP (405) TransformationProof [EQUIVALENT, 0 ms] (406) QDP (407) TransformationProof [EQUIVALENT, 0 ms] (408) QDP (409) TransformationProof [EQUIVALENT, 0 ms] (410) QDP (411) TransformationProof [EQUIVALENT, 0 ms] (412) QDP (413) TransformationProof [EQUIVALENT, 0 ms] (414) QDP (415) TransformationProof [EQUIVALENT, 0 ms] (416) QDP (417) DependencyGraphProof [EQUIVALENT, 0 ms] (418) QDP (419) TransformationProof [EQUIVALENT, 0 ms] (420) QDP (421) TransformationProof [EQUIVALENT, 0 ms] (422) QDP (423) TransformationProof [EQUIVALENT, 0 ms] (424) QDP (425) TransformationProof [EQUIVALENT, 0 ms] (426) QDP (427) TransformationProof [EQUIVALENT, 0 ms] (428) QDP (429) TransformationProof [EQUIVALENT, 0 ms] (430) QDP (431) TransformationProof [EQUIVALENT, 0 ms] (432) QDP (433) TransformationProof [EQUIVALENT, 0 ms] (434) QDP (435) TransformationProof [EQUIVALENT, 0 ms] (436) QDP (437) TransformationProof [EQUIVALENT, 0 ms] (438) QDP (439) TransformationProof [EQUIVALENT, 0 ms] (440) QDP (441) DependencyGraphProof [EQUIVALENT, 0 ms] (442) QDP (443) TransformationProof [EQUIVALENT, 0 ms] (444) QDP (445) TransformationProof [EQUIVALENT, 0 ms] (446) QDP (447) DependencyGraphProof [EQUIVALENT, 0 ms] (448) AND (449) QDP (450) TransformationProof [EQUIVALENT, 0 ms] (451) QDP (452) TransformationProof [EQUIVALENT, 0 ms] (453) QDP (454) TransformationProof [EQUIVALENT, 0 ms] (455) QDP (456) TransformationProof [EQUIVALENT, 0 ms] (457) QDP (458) TransformationProof [EQUIVALENT, 0 ms] (459) QDP (460) DependencyGraphProof [EQUIVALENT, 0 ms] (461) QDP (462) QDPOrderProof [EQUIVALENT, 288 ms] (463) QDP (464) DependencyGraphProof [EQUIVALENT, 0 ms] (465) TRUE (466) QDP (467) TransformationProof [EQUIVALENT, 0 ms] (468) QDP (469) DependencyGraphProof [EQUIVALENT, 0 ms] (470) QDP (471) QDPOrderProof [EQUIVALENT, 292 ms] (472) QDP (473) DependencyGraphProof [EQUIVALENT, 0 ms] (474) TRUE (475) QDP (476) TransformationProof [EQUIVALENT, 0 ms] (477) QDP (478) DependencyGraphProof [EQUIVALENT, 0 ms] (479) AND (480) QDP (481) TransformationProof [EQUIVALENT, 0 ms] (482) QDP (483) TransformationProof [EQUIVALENT, 0 ms] (484) QDP (485) TransformationProof [EQUIVALENT, 0 ms] (486) QDP (487) TransformationProof [EQUIVALENT, 0 ms] (488) QDP (489) TransformationProof [EQUIVALENT, 0 ms] (490) QDP (491) QDPOrderProof [EQUIVALENT, 188 ms] (492) QDP (493) DependencyGraphProof [EQUIVALENT, 0 ms] (494) TRUE (495) QDP (496) QDPOrderProof [EQUIVALENT, 191 ms] (497) QDP (498) DependencyGraphProof [EQUIVALENT, 0 ms] (499) TRUE (500) QDP (501) InductionCalculusProof [EQUIVALENT, 0 ms] (502) QDP (503) QDP (504) QDPSizeChangeProof [EQUIVALENT, 0 ms] (505) YES (506) QDP (507) DependencyGraphProof [EQUIVALENT, 0 ms] (508) AND (509) QDP (510) TransformationProof [EQUIVALENT, 46 ms] (511) QDP (512) DependencyGraphProof [EQUIVALENT, 0 ms] (513) AND (514) QDP (515) UsableRulesProof [EQUIVALENT, 0 ms] (516) QDP (517) QReductionProof [EQUIVALENT, 0 ms] (518) QDP (519) MNOCProof [EQUIVALENT, 4 ms] (520) QDP (521) NonTerminationLoopProof [COMPLETE, 0 ms] (522) NO (523) QDP (524) TransformationProof [EQUIVALENT, 0 ms] (525) QDP (526) UsableRulesProof [EQUIVALENT, 0 ms] (527) QDP (528) QReductionProof [EQUIVALENT, 0 ms] (529) QDP (530) TransformationProof [EQUIVALENT, 0 ms] (531) QDP (532) DependencyGraphProof [EQUIVALENT, 0 ms] (533) QDP (534) UsableRulesProof [EQUIVALENT, 0 ms] (535) QDP (536) QReductionProof [EQUIVALENT, 0 ms] (537) QDP (538) TransformationProof [EQUIVALENT, 0 ms] (539) QDP (540) QDPSizeChangeProof [EQUIVALENT, 0 ms] (541) YES (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) TransformationProof [EQUIVALENT, 0 ms] (546) QDP (547) TransformationProof [EQUIVALENT, 0 ms] (548) QDP (549) TransformationProof [EQUIVALENT, 0 ms] (550) QDP (551) DependencyGraphProof [EQUIVALENT, 0 ms] (552) AND (553) QDP (554) UsableRulesProof [EQUIVALENT, 0 ms] (555) QDP (556) QReductionProof [EQUIVALENT, 0 ms] (557) QDP (558) MNOCProof [EQUIVALENT, 0 ms] (559) QDP (560) NonTerminationLoopProof [COMPLETE, 0 ms] (561) NO (562) QDP (563) UsableRulesProof [EQUIVALENT, 0 ms] (564) QDP (565) QReductionProof [EQUIVALENT, 0 ms] (566) QDP (567) TransformationProof [EQUIVALENT, 0 ms] (568) QDP (569) UsableRulesProof [EQUIVALENT, 0 ms] (570) QDP (571) QReductionProof [EQUIVALENT, 8 ms] (572) QDP (573) TransformationProof [EQUIVALENT, 0 ms] (574) QDP (575) TransformationProof [EQUIVALENT, 0 ms] (576) QDP (577) TransformationProof [EQUIVALENT, 0 ms] (578) QDP (579) TransformationProof [EQUIVALENT, 0 ms] (580) QDP (581) TransformationProof [EQUIVALENT, 0 ms] (582) QDP (583) TransformationProof [EQUIVALENT, 0 ms] (584) QDP (585) TransformationProof [EQUIVALENT, 0 ms] (586) QDP (587) TransformationProof [EQUIVALENT, 0 ms] (588) QDP (589) DependencyGraphProof [EQUIVALENT, 0 ms] (590) QDP (591) MNOCProof [EQUIVALENT, 0 ms] (592) QDP (593) InductionCalculusProof [EQUIVALENT, 0 ms] (594) QDP (595) QDPPairToRuleProof [EQUIVALENT, 8 ms] (596) AND (597) QDP (598) MNOCProof [EQUIVALENT, 0 ms] (599) QDP (600) InductionCalculusProof [EQUIVALENT, 0 ms] (601) QDP (602) TransformationProof [EQUIVALENT, 0 ms] (603) QDP (604) DependencyGraphProof [EQUIVALENT, 0 ms] (605) QDP (606) UsableRulesProof [EQUIVALENT, 0 ms] (607) QDP (608) QReductionProof [EQUIVALENT, 9 ms] (609) QDP (610) TransformationProof [EQUIVALENT, 0 ms] (611) QDP (612) TransformationProof [EQUIVALENT, 0 ms] (613) QDP (614) TransformationProof [EQUIVALENT, 0 ms] (615) QDP (616) TransformationProof [EQUIVALENT, 0 ms] (617) QDP (618) TransformationProof [EQUIVALENT, 0 ms] (619) QDP (620) TransformationProof [EQUIVALENT, 0 ms] (621) QDP (622) TransformationProof [EQUIVALENT, 0 ms] (623) QDP (624) TransformationProof [EQUIVALENT, 0 ms] (625) QDP (626) UsableRulesProof [EQUIVALENT, 0 ms] (627) QDP (628) QReductionProof [EQUIVALENT, 0 ms] (629) QDP (630) TransformationProof [EQUIVALENT, 0 ms] (631) QDP (632) TransformationProof [EQUIVALENT, 0 ms] (633) QDP (634) TransformationProof [EQUIVALENT, 0 ms] (635) QDP (636) TransformationProof [EQUIVALENT, 0 ms] (637) QDP (638) TransformationProof [EQUIVALENT, 0 ms] (639) QDP (640) TransformationProof [EQUIVALENT, 0 ms] (641) QDP (642) TransformationProof [EQUIVALENT, 0 ms] (643) QDP (644) TransformationProof [EQUIVALENT, 0 ms] (645) QDP (646) TransformationProof [EQUIVALENT, 0 ms] (647) QDP (648) TransformationProof [EQUIVALENT, 0 ms] (649) QDP (650) TransformationProof [EQUIVALENT, 0 ms] (651) QDP (652) TransformationProof [EQUIVALENT, 0 ms] (653) QDP (654) TransformationProof [EQUIVALENT, 0 ms] (655) QDP (656) MNOCProof [EQUIVALENT, 0 ms] (657) QDP (658) InductionCalculusProof [EQUIVALENT, 0 ms] (659) QDP (660) QDP (661) QDPSizeChangeProof [EQUIVALENT, 0 ms] (662) YES (663) QDP (664) QDPSizeChangeProof [EQUIVALENT, 0 ms] (665) YES (666) QDP (667) QDPSizeChangeProof [EQUIVALENT, 0 ms] (668) YES (669) QDP (670) QDPSizeChangeProof [EQUIVALENT, 0 ms] (671) YES (672) QDP (673) DependencyGraphProof [EQUIVALENT, 0 ms] (674) AND (675) QDP (676) QDPSizeChangeProof [EQUIVALENT, 1 ms] (677) YES (678) QDP (679) MRRProof [EQUIVALENT, 0 ms] (680) QDP (681) PisEmptyProof [EQUIVALENT, 0 ms] (682) YES (683) Narrow [COMPLETE, 0 ms] (684) QDP (685) PisEmptyProof [EQUIVALENT, 0 ms] (686) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Ratio a = CnPc a a ; absMyInt :: MyInt -> MyInt; absMyInt = absReal; absReal x = absReal2 x; absReal0 x MyTrue = negateMyInt x; absReal1 x MyTrue = x; absReal1 x MyFalse = absReal0 x otherwise; absReal2 x = absReal1 x (gtEsMyInt x (fromIntMyInt (Main.Pos Main.Zero))); compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; fromIntRatio :: MyInt -> Ratio MyInt; fromIntRatio = intToRatio; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gcd zu zv = gcd3 zu zv; gcd x y = gcd0 x y; gcd0 x y = gcd0Gcd' (absMyInt x) (absMyInt y); gcd0Gcd' x yu = gcd0Gcd'2 x yu; gcd0Gcd' x y = gcd0Gcd'0 x y; gcd0Gcd'0 x y = gcd0Gcd' y (remMyInt x y); gcd0Gcd'1 MyTrue x yu = x; gcd0Gcd'1 yv yw yx = gcd0Gcd'0 yw yx; gcd0Gcd'2 x yu = gcd0Gcd'1 (esEsMyInt yu (fromIntMyInt (Main.Pos Main.Zero))) x yu; gcd0Gcd'2 yy yz = gcd0Gcd'0 yy yz; gcd1 MyTrue zu zv = Main.error; gcd1 zw zx zy = gcd0 zx zy; gcd2 MyTrue zu zv = gcd1 (esEsMyInt zv (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd2 zz vuu vuv = gcd0 vuu vuv; gcd3 zu zv = gcd2 (esEsMyInt zu (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd3 vuw vux = gcd0 vuw vux; gtEsMyInt :: MyInt -> MyInt -> MyBool; gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srRatio x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srRatio x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntRatio (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt xu xv = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; reduce x y = reduce2 x y; reduce2 x y = reduce2Reduce1 x y x y (esEsMyInt y (fromIntMyInt (Main.Pos Main.Zero))); reduce2D vxw vxx = gcd vxw vxx; reduce2Reduce0 vxw vxx x y MyTrue = CnPc (quotMyInt x (reduce2D vxw vxx)) (quotMyInt y (reduce2D vxw vxx)); reduce2Reduce1 vxw vxx x y MyTrue = Main.error; reduce2Reduce1 vxw vxx x y MyFalse = reduce2Reduce0 vxw vxx x y otherwise; remMyInt :: MyInt -> MyInt -> MyInt; remMyInt = primRemInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; srRatio :: Ratio MyInt -> Ratio MyInt -> Ratio MyInt; srRatio (CnPc x y) (CnPc x' y') = reduce (srMyInt x x') (srMyInt y y'); stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Ratio a = CnPc a a ; absMyInt :: MyInt -> MyInt; absMyInt = absReal; absReal x = absReal2 x; absReal0 x MyTrue = negateMyInt x; absReal1 x MyTrue = x; absReal1 x MyFalse = absReal0 x otherwise; absReal2 x = absReal1 x (gtEsMyInt x (fromIntMyInt (Main.Pos Main.Zero))); compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; fromIntRatio :: MyInt -> Ratio MyInt; fromIntRatio = intToRatio; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gcd zu zv = gcd3 zu zv; gcd x y = gcd0 x y; gcd0 x y = gcd0Gcd' (absMyInt x) (absMyInt y); gcd0Gcd' x yu = gcd0Gcd'2 x yu; gcd0Gcd' x y = gcd0Gcd'0 x y; gcd0Gcd'0 x y = gcd0Gcd' y (remMyInt x y); gcd0Gcd'1 MyTrue x yu = x; gcd0Gcd'1 yv yw yx = gcd0Gcd'0 yw yx; gcd0Gcd'2 x yu = gcd0Gcd'1 (esEsMyInt yu (fromIntMyInt (Main.Pos Main.Zero))) x yu; gcd0Gcd'2 yy yz = gcd0Gcd'0 yy yz; gcd1 MyTrue zu zv = Main.error; gcd1 zw zx zy = gcd0 zx zy; gcd2 MyTrue zu zv = gcd1 (esEsMyInt zv (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd2 zz vuu vuv = gcd0 vuu vuv; gcd3 zu zv = gcd2 (esEsMyInt zu (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd3 vuw vux = gcd0 vuw vux; gtEsMyInt :: MyInt -> MyInt -> MyBool; gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srRatio x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srRatio x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntRatio (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt xu xv = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; reduce x y = reduce2 x y; reduce2 x y = reduce2Reduce1 x y x y (esEsMyInt y (fromIntMyInt (Main.Pos Main.Zero))); reduce2D vxw vxx = gcd vxw vxx; reduce2Reduce0 vxw vxx x y MyTrue = CnPc (quotMyInt x (reduce2D vxw vxx)) (quotMyInt y (reduce2D vxw vxx)); reduce2Reduce1 vxw vxx x y MyTrue = Main.error; reduce2Reduce1 vxw vxx x y MyFalse = reduce2Reduce0 vxw vxx x y otherwise; remMyInt :: MyInt -> MyInt -> MyInt; remMyInt = primRemInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; srRatio :: Ratio MyInt -> Ratio MyInt -> Ratio MyInt; srRatio (CnPc x y) (CnPc x' y') = reduce (srMyInt x x') (srMyInt y y'); stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Ratio a = CnPc a a ; absMyInt :: MyInt -> MyInt; absMyInt = absReal; absReal x = absReal2 x; absReal0 x MyTrue = negateMyInt x; absReal1 x MyTrue = x; absReal1 x MyFalse = absReal0 x otherwise; absReal2 x = absReal1 x (gtEsMyInt x (fromIntMyInt (Main.Pos Main.Zero))); compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; fromIntRatio :: MyInt -> Ratio MyInt; fromIntRatio = intToRatio; fsEsOrdering :: Ordering -> Ordering -> MyBool; fsEsOrdering x y = not (esEsOrdering x y); gcd zu zv = gcd3 zu zv; gcd x y = gcd0 x y; gcd0 x y = gcd0Gcd' (absMyInt x) (absMyInt y); gcd0Gcd' x yu = gcd0Gcd'2 x yu; gcd0Gcd' x y = gcd0Gcd'0 x y; gcd0Gcd'0 x y = gcd0Gcd' y (remMyInt x y); gcd0Gcd'1 MyTrue x yu = x; gcd0Gcd'1 yv yw yx = gcd0Gcd'0 yw yx; gcd0Gcd'2 x yu = gcd0Gcd'1 (esEsMyInt yu (fromIntMyInt (Main.Pos Main.Zero))) x yu; gcd0Gcd'2 yy yz = gcd0Gcd'0 yy yz; gcd1 MyTrue zu zv = Main.error; gcd1 zw zx zy = gcd0 zx zy; gcd2 MyTrue zu zv = gcd1 (esEsMyInt zv (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd2 zz vuu vuv = gcd0 vuu vuv; gcd3 zu zv = gcd2 (esEsMyInt zu (fromIntMyInt (Main.Pos Main.Zero))) zu zv; gcd3 vuw vux = gcd0 vuw vux; gtEsMyInt :: MyInt -> MyInt -> MyBool; gtEsMyInt x y = fsEsOrdering (compareMyInt x y) LT; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; negateMyInt :: MyInt -> MyInt; negateMyInt = primNegInt; not :: MyBool -> MyBool; not MyTrue = MyFalse; not MyFalse = MyTrue; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srRatio x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srRatio x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntRatio (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primNegInt :: MyInt -> MyInt; primNegInt (Main.Pos x) = Main.Neg x; primNegInt (Main.Neg x) = Main.Pos x; primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt xu xv = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; reduce x y = reduce2 x y; reduce2 x y = reduce2Reduce1 x y x y (esEsMyInt y (fromIntMyInt (Main.Pos Main.Zero))); reduce2D vxw vxx = gcd vxw vxx; reduce2Reduce0 vxw vxx x y MyTrue = CnPc (quotMyInt x (reduce2D vxw vxx)) (quotMyInt y (reduce2D vxw vxx)); reduce2Reduce1 vxw vxx x y MyTrue = Main.error; reduce2Reduce1 vxw vxx x y MyFalse = reduce2Reduce0 vxw vxx x y otherwise; remMyInt :: MyInt -> MyInt -> MyInt; remMyInt = primRemInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; srRatio :: Ratio MyInt -> Ratio MyInt -> Ratio MyInt; srRatio (CnPc x y) (CnPc x' y') = reduce (srMyInt x x') (srMyInt y y'); stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (5) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (esEsMyInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="burlywood",shape="box"];3969[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 3969[label="",style="solid", color="burlywood", weight=9]; 3969 -> 8[label="",style="solid", color="burlywood", weight=3]; 3970[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 3970[label="",style="solid", color="burlywood", weight=9]; 3970 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vx40) (fromIntMyInt (Pos Zero))) vx3 (Pos vx40)",fontsize=16,color="burlywood",shape="box"];3971[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];8 -> 3971[label="",style="solid", color="burlywood", weight=9]; 3971 -> 10[label="",style="solid", color="burlywood", weight=3]; 3972[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 3972[label="",style="solid", color="burlywood", weight=9]; 3972 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vx40) (fromIntMyInt (Pos Zero))) vx3 (Neg vx40)",fontsize=16,color="burlywood",shape="box"];3973[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];9 -> 3973[label="",style="solid", color="burlywood", weight=9]; 3973 -> 12[label="",style="solid", color="burlywood", weight=3]; 3974[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 3974[label="",style="solid", color="burlywood", weight=9]; 3974 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vx400)) (Pos Zero)) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vx400)) (Pos Zero)) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromIntRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromIntRatio (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vx3 (Pos (Succ vx400)) (gtMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 28[label="pr2Pr1 vx3 (Neg (Succ vx400)) (gtMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (compareMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 30[label="CnPc (fromIntMyInt (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 30 -> 34[label="",style="dashed", color="green", weight=3]; 31[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (compareMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 34 -> 33[label="",style="dashed", color="red", weight=0]; 34[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering LT GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering GT GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 42[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 43[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 44[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 45 -> 47[label="",style="dashed", color="red", weight=0]; 45[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos (Succ Zero)))) vx3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 46[label="error",fontsize=16,color="black",shape="triangle"];46 -> 49[label="",style="solid", color="black", weight=3]; 48 -> 33[label="",style="dashed", color="red", weight=0]; 48[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 49[label="stop MyTrue",fontsize=16,color="black",shape="box"];49 -> 51[label="",style="solid", color="black", weight=3]; 50[label="pr2F4 vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];50 -> 52[label="",style="solid", color="black", weight=3]; 51[label="error []",fontsize=16,color="red",shape="box"];52[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];53 -> 54[label="",style="solid", color="black", weight=3]; 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="burlywood",shape="box"];3975[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];54 -> 3975[label="",style="solid", color="burlywood", weight=9]; 3975 -> 55[label="",style="solid", color="burlywood", weight=3]; 3976[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];54 -> 3976[label="",style="solid", color="burlywood", weight=9]; 3976 -> 56[label="",style="solid", color="burlywood", weight=3]; 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Pos vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Pos vx50)) vx3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Neg vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Neg vx50)) vx3",fontsize=16,color="black",shape="box"];56 -> 58[label="",style="solid", color="black", weight=3]; 57[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) vx50) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) vx50) vx3",fontsize=16,color="burlywood",shape="box"];3977[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];57 -> 3977[label="",style="solid", color="burlywood", weight=9]; 3977 -> 59[label="",style="solid", color="burlywood", weight=3]; 3978[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 3978[label="",style="solid", color="burlywood", weight=9]; 3978 -> 60[label="",style="solid", color="burlywood", weight=3]; 58[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) vx50)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) vx50)) vx3",fontsize=16,color="burlywood",shape="box"];3979[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];58 -> 3979[label="",style="solid", color="burlywood", weight=9]; 3979 -> 61[label="",style="solid", color="burlywood", weight=3]; 3980[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 3980[label="",style="solid", color="burlywood", weight=9]; 3980 -> 62[label="",style="solid", color="burlywood", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) (Succ vx500)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) (Succ vx500)) vx3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) Zero) vx3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) (Succ vx500))) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) (Succ vx500))) vx3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 62[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) Zero)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) Zero)) vx3",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 63[label="pr2F3 (primEqInt (primMinusNat vx400 vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx400 vx500) vx3",fontsize=16,color="burlywood",shape="triangle"];3981[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];63 -> 3981[label="",style="solid", color="burlywood", weight=9]; 3981 -> 67[label="",style="solid", color="burlywood", weight=3]; 3982[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 3982[label="",style="solid", color="burlywood", weight=9]; 3982 -> 68[label="",style="solid", color="burlywood", weight=3]; 64 -> 418[label="",style="dashed", color="red", weight=0]; 64[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];64 -> 419[label="",style="dashed", color="magenta", weight=3]; 64 -> 420[label="",style="dashed", color="magenta", weight=3]; 64 -> 421[label="",style="dashed", color="magenta", weight=3]; 65 -> 418[label="",style="dashed", color="red", weight=0]; 65[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vx400 vx500)))) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ (Succ (primPlusNat vx400 vx500)))) vx3",fontsize=16,color="magenta"];65 -> 422[label="",style="dashed", color="magenta", weight=3]; 65 -> 423[label="",style="dashed", color="magenta", weight=3]; 65 -> 424[label="",style="dashed", color="magenta", weight=3]; 66 -> 418[label="",style="dashed", color="red", weight=0]; 66[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];66 -> 425[label="",style="dashed", color="magenta", weight=3]; 66 -> 426[label="",style="dashed", color="magenta", weight=3]; 66 -> 427[label="",style="dashed", color="magenta", weight=3]; 67[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) vx500) vx3",fontsize=16,color="burlywood",shape="box"];3983[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 3983[label="",style="solid", color="burlywood", weight=9]; 3983 -> 71[label="",style="solid", color="burlywood", weight=3]; 3984[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 3984[label="",style="solid", color="burlywood", weight=9]; 3984 -> 72[label="",style="solid", color="burlywood", weight=3]; 68[label="pr2F3 (primEqInt (primMinusNat Zero vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero vx500) vx3",fontsize=16,color="burlywood",shape="box"];3985[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];68 -> 3985[label="",style="solid", color="burlywood", weight=9]; 3985 -> 73[label="",style="solid", color="burlywood", weight=3]; 3986[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];68 -> 3986[label="",style="solid", color="burlywood", weight=9]; 3986 -> 74[label="",style="solid", color="burlywood", weight=3]; 419[label="vx400",fontsize=16,color="green",shape="box"];420[label="vx3",fontsize=16,color="green",shape="box"];421[label="vx3",fontsize=16,color="green",shape="box"];418[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (fromIntMyInt (Pos Zero))) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="triangle"];418 -> 432[label="",style="solid", color="black", weight=3]; 422[label="Succ (primPlusNat vx400 vx500)",fontsize=16,color="green",shape="box"];422 -> 433[label="",style="dashed", color="green", weight=3]; 423[label="vx3",fontsize=16,color="green",shape="box"];424[label="vx3",fontsize=16,color="green",shape="box"];425[label="vx400",fontsize=16,color="green",shape="box"];426[label="vx3",fontsize=16,color="green",shape="box"];427[label="vx3",fontsize=16,color="green",shape="box"];71[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) Zero) vx3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 73[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 74[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero Zero) vx3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 432[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (Pos Zero)) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];432 -> 440[label="",style="solid", color="black", weight=3]; 433 -> 76[label="",style="dashed", color="red", weight=0]; 433[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];77 -> 63[label="",style="dashed", color="red", weight=0]; 77[label="pr2F3 (primEqInt (primMinusNat vx4000 vx5000) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx4000 vx5000) vx3",fontsize=16,color="magenta"];77 -> 84[label="",style="dashed", color="magenta", weight=3]; 77 -> 85[label="",style="dashed", color="magenta", weight=3]; 78 -> 418[label="",style="dashed", color="red", weight=0]; 78[label="pr2F3 (primEqInt (Pos (Succ vx4000)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx4000)) vx3",fontsize=16,color="magenta"];78 -> 428[label="",style="dashed", color="magenta", weight=3]; 78 -> 429[label="",style="dashed", color="magenta", weight=3]; 78 -> 430[label="",style="dashed", color="magenta", weight=3]; 79[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 80 -> 436[label="",style="dashed", color="red", weight=0]; 80[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero) vx3",fontsize=16,color="magenta"];80 -> 437[label="",style="dashed", color="magenta", weight=3]; 80 -> 438[label="",style="dashed", color="magenta", weight=3]; 440[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 76[label="primPlusNat vx400 vx500",fontsize=16,color="burlywood",shape="triangle"];3987[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];76 -> 3987[label="",style="solid", color="burlywood", weight=9]; 3987 -> 82[label="",style="solid", color="burlywood", weight=3]; 3988[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 3988[label="",style="solid", color="burlywood", weight=9]; 3988 -> 83[label="",style="solid", color="burlywood", weight=3]; 84[label="vx5000",fontsize=16,color="green",shape="box"];85[label="vx4000",fontsize=16,color="green",shape="box"];428[label="vx4000",fontsize=16,color="green",shape="box"];429[label="vx3",fontsize=16,color="green",shape="box"];430[label="vx3",fontsize=16,color="green",shape="box"];87 -> 775[label="",style="dashed", color="red", weight=0]; 87[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (Pos Zero)) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="magenta"];87 -> 776[label="",style="dashed", color="magenta", weight=3]; 87 -> 777[label="",style="dashed", color="magenta", weight=3]; 87 -> 778[label="",style="dashed", color="magenta", weight=3]; 87 -> 779[label="",style="dashed", color="magenta", weight=3]; 437[label="vx3",fontsize=16,color="green",shape="box"];438[label="vx3",fontsize=16,color="green",shape="box"];436[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="triangle"];436 -> 441[label="",style="solid", color="black", weight=3]; 444[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];444 -> 448[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="box"];3989[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 3989[label="",style="solid", color="burlywood", weight=9]; 3989 -> 90[label="",style="solid", color="burlywood", weight=3]; 3990[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 3990[label="",style="solid", color="burlywood", weight=9]; 3990 -> 91[label="",style="solid", color="burlywood", weight=3]; 83[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="box"];3991[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];83 -> 3991[label="",style="solid", color="burlywood", weight=9]; 3991 -> 92[label="",style="solid", color="burlywood", weight=3]; 3992[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];83 -> 3992[label="",style="solid", color="burlywood", weight=9]; 3992 -> 93[label="",style="solid", color="burlywood", weight=3]; 776[label="vx3",fontsize=16,color="green",shape="box"];777[label="vx5000",fontsize=16,color="green",shape="box"];778[label="vx3",fontsize=16,color="green",shape="box"];779[label="Succ vx5000",fontsize=16,color="green",shape="box"];775[label="pr2F3 (primEqInt (Neg (Succ vx620)) (Pos Zero)) vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="triangle"];775 -> 781[label="",style="solid", color="black", weight=3]; 441[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 448 -> 792[label="",style="dashed", color="red", weight=0]; 448[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];448 -> 793[label="",style="dashed", color="magenta", weight=3]; 448 -> 794[label="",style="dashed", color="magenta", weight=3]; 448 -> 795[label="",style="dashed", color="magenta", weight=3]; 90[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 781[label="pr2F3 MyFalse vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="box"];781 -> 797[label="",style="solid", color="black", weight=3]; 445[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];445 -> 449[label="",style="solid", color="black", weight=3]; 793[label="Succ vx23000",fontsize=16,color="green",shape="box"];794[label="vx12",fontsize=16,color="green",shape="box"];795[label="vx33",fontsize=16,color="green",shape="box"];792[label="pr2F0G vx68 vx44 (Pos vx59)",fontsize=16,color="black",shape="triangle"];792 -> 798[label="",style="solid", color="black", weight=3]; 97[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];97 -> 104[label="",style="dashed", color="green", weight=3]; 98[label="Succ vx4000",fontsize=16,color="green",shape="box"];99[label="Succ vx5000",fontsize=16,color="green",shape="box"];100[label="Zero",fontsize=16,color="green",shape="box"];797[label="pr2F0 vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="box"];797 -> 799[label="",style="solid", color="black", weight=3]; 449[label="vx34",fontsize=16,color="green",shape="box"];798[label="pr2F0G2 vx68 vx44 (Pos vx59)",fontsize=16,color="black",shape="box"];798 -> 800[label="",style="solid", color="black", weight=3]; 104 -> 76[label="",style="dashed", color="red", weight=0]; 104[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];104 -> 107[label="",style="dashed", color="magenta", weight=3]; 104 -> 108[label="",style="dashed", color="magenta", weight=3]; 799[label="pr2F0G vx67 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];799 -> 801[label="",style="solid", color="black", weight=3]; 800[label="pr2F0G1 vx68 vx44 (Pos vx59) (evenMyInt (Pos vx59))",fontsize=16,color="black",shape="box"];800 -> 802[label="",style="solid", color="black", weight=3]; 107[label="vx5000",fontsize=16,color="green",shape="box"];108[label="vx4000",fontsize=16,color="green",shape="box"];801[label="pr2F0G2 vx67 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];801 -> 803[label="",style="solid", color="black", weight=3]; 802[label="pr2F0G1 vx68 vx44 (Pos vx59) (primEvenInt (Pos vx59))",fontsize=16,color="black",shape="triangle"];802 -> 804[label="",style="solid", color="black", weight=3]; 803[label="pr2F0G1 vx67 vx50 (Neg vx61) (evenMyInt (Neg vx61))",fontsize=16,color="black",shape="box"];803 -> 805[label="",style="solid", color="black", weight=3]; 804[label="pr2F0G1 vx68 vx44 (Pos vx59) (primEvenNat vx59)",fontsize=16,color="burlywood",shape="box"];3993[label="vx59/Succ vx590",fontsize=10,color="white",style="solid",shape="box"];804 -> 3993[label="",style="solid", color="burlywood", weight=9]; 3993 -> 806[label="",style="solid", color="burlywood", weight=3]; 3994[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];804 -> 3994[label="",style="solid", color="burlywood", weight=9]; 3994 -> 807[label="",style="solid", color="burlywood", weight=3]; 805[label="pr2F0G1 vx67 vx50 (Neg vx61) (primEvenInt (Neg vx61))",fontsize=16,color="black",shape="triangle"];805 -> 808[label="",style="solid", color="black", weight=3]; 806[label="pr2F0G1 vx68 vx44 (Pos (Succ vx590)) (primEvenNat (Succ vx590))",fontsize=16,color="burlywood",shape="box"];3995[label="vx590/Succ vx5900",fontsize=10,color="white",style="solid",shape="box"];806 -> 3995[label="",style="solid", color="burlywood", weight=9]; 3995 -> 809[label="",style="solid", color="burlywood", weight=3]; 3996[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];806 -> 3996[label="",style="solid", color="burlywood", weight=9]; 3996 -> 810[label="",style="solid", color="burlywood", weight=3]; 807[label="pr2F0G1 vx68 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];807 -> 811[label="",style="solid", color="black", weight=3]; 808[label="pr2F0G1 vx67 vx50 (Neg vx61) (primEvenNat vx61)",fontsize=16,color="burlywood",shape="box"];3997[label="vx61/Succ vx610",fontsize=10,color="white",style="solid",shape="box"];808 -> 3997[label="",style="solid", color="burlywood", weight=9]; 3997 -> 812[label="",style="solid", color="burlywood", weight=3]; 3998[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];808 -> 3998[label="",style="solid", color="burlywood", weight=9]; 3998 -> 813[label="",style="solid", color="burlywood", weight=3]; 809[label="pr2F0G1 vx68 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat (Succ (Succ vx5900)))",fontsize=16,color="black",shape="box"];809 -> 814[label="",style="solid", color="black", weight=3]; 810[label="pr2F0G1 vx68 vx44 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];810 -> 815[label="",style="solid", color="black", weight=3]; 811[label="pr2F0G1 vx68 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];811 -> 816[label="",style="solid", color="black", weight=3]; 812[label="pr2F0G1 vx67 vx50 (Neg (Succ vx610)) (primEvenNat (Succ vx610))",fontsize=16,color="burlywood",shape="box"];3999[label="vx610/Succ vx6100",fontsize=10,color="white",style="solid",shape="box"];812 -> 3999[label="",style="solid", color="burlywood", weight=9]; 3999 -> 817[label="",style="solid", color="burlywood", weight=3]; 4000[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 4000[label="",style="solid", color="burlywood", weight=9]; 4000 -> 818[label="",style="solid", color="burlywood", weight=3]; 813[label="pr2F0G1 vx67 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];813 -> 819[label="",style="solid", color="black", weight=3]; 814 -> 886[label="",style="dashed", color="red", weight=0]; 814[label="pr2F0G1 vx68 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];814 -> 887[label="",style="dashed", color="magenta", weight=3]; 814 -> 888[label="",style="dashed", color="magenta", weight=3]; 814 -> 889[label="",style="dashed", color="magenta", weight=3]; 814 -> 890[label="",style="dashed", color="magenta", weight=3]; 815[label="pr2F0G1 vx68 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];815 -> 822[label="",style="solid", color="black", weight=3]; 816[label="pr2F0G vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 823[label="",style="solid", color="black", weight=3]; 817[label="pr2F0G1 vx67 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat (Succ (Succ vx6100)))",fontsize=16,color="black",shape="box"];817 -> 824[label="",style="solid", color="black", weight=3]; 818[label="pr2F0G1 vx67 vx50 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];818 -> 825[label="",style="solid", color="black", weight=3]; 819[label="pr2F0G1 vx67 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];819 -> 826[label="",style="solid", color="black", weight=3]; 887[label="vx68",fontsize=16,color="green",shape="box"];888[label="vx44",fontsize=16,color="green",shape="box"];889[label="vx5900",fontsize=16,color="green",shape="box"];890[label="Succ vx5900",fontsize=16,color="green",shape="box"];886[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat vx75)",fontsize=16,color="burlywood",shape="triangle"];4001[label="vx75/Succ vx750",fontsize=10,color="white",style="solid",shape="box"];886 -> 4001[label="",style="solid", color="burlywood", weight=9]; 4001 -> 899[label="",style="solid", color="burlywood", weight=3]; 4002[label="vx75/Zero",fontsize=10,color="white",style="solid",shape="box"];886 -> 4002[label="",style="solid", color="burlywood", weight=9]; 4002 -> 900[label="",style="solid", color="burlywood", weight=3]; 822[label="pr2F0G0 vx68 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];822 -> 830[label="",style="solid", color="black", weight=3]; 823[label="pr2F0G2 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];823 -> 831[label="",style="solid", color="black", weight=3]; 824 -> 917[label="",style="dashed", color="red", weight=0]; 824[label="pr2F0G1 vx67 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];824 -> 918[label="",style="dashed", color="magenta", weight=3]; 824 -> 919[label="",style="dashed", color="magenta", weight=3]; 824 -> 920[label="",style="dashed", color="magenta", weight=3]; 824 -> 921[label="",style="dashed", color="magenta", weight=3]; 825[label="pr2F0G1 vx67 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];825 -> 834[label="",style="solid", color="black", weight=3]; 826[label="pr2F0G vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];826 -> 835[label="",style="solid", color="black", weight=3]; 899[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ vx750))",fontsize=16,color="burlywood",shape="box"];4003[label="vx750/Succ vx7500",fontsize=10,color="white",style="solid",shape="box"];899 -> 4003[label="",style="solid", color="burlywood", weight=9]; 4003 -> 911[label="",style="solid", color="burlywood", weight=3]; 4004[label="vx750/Zero",fontsize=10,color="white",style="solid",shape="box"];899 -> 4004[label="",style="solid", color="burlywood", weight=9]; 4004 -> 912[label="",style="solid", color="burlywood", weight=3]; 900[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];900 -> 913[label="",style="solid", color="black", weight=3]; 830[label="pr2F0G0 vx68 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];830 -> 839[label="",style="solid", color="black", weight=3]; 831[label="pr2F0G1 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 840[label="",style="solid", color="black", weight=3]; 918[label="vx67",fontsize=16,color="green",shape="box"];919[label="vx6100",fontsize=16,color="green",shape="box"];920[label="Succ vx6100",fontsize=16,color="green",shape="box"];921[label="vx50",fontsize=16,color="green",shape="box"];917[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat vx80)",fontsize=16,color="burlywood",shape="triangle"];4005[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];917 -> 4005[label="",style="solid", color="burlywood", weight=9]; 4005 -> 930[label="",style="solid", color="burlywood", weight=3]; 4006[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];917 -> 4006[label="",style="solid", color="burlywood", weight=9]; 4006 -> 931[label="",style="solid", color="burlywood", weight=3]; 834[label="pr2F0G0 vx67 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];834 -> 844[label="",style="solid", color="black", weight=3]; 835[label="pr2F0G2 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];835 -> 845[label="",style="solid", color="black", weight=3]; 911[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ (Succ vx7500)))",fontsize=16,color="black",shape="box"];911 -> 932[label="",style="solid", color="black", weight=3]; 912[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];912 -> 933[label="",style="solid", color="black", weight=3]; 913[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) MyTrue",fontsize=16,color="black",shape="box"];913 -> 934[label="",style="solid", color="black", weight=3]; 839 -> 976[label="",style="dashed", color="red", weight=0]; 839[label="pr2F vx44 (msMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx44 vx68)",fontsize=16,color="magenta"];839 -> 977[label="",style="dashed", color="magenta", weight=3]; 839 -> 978[label="",style="dashed", color="magenta", weight=3]; 839 -> 979[label="",style="dashed", color="magenta", weight=3]; 839 -> 980[label="",style="dashed", color="magenta", weight=3]; 840[label="pr2F0G1 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 930[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ vx800))",fontsize=16,color="burlywood",shape="box"];4007[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];930 -> 4007[label="",style="solid", color="burlywood", weight=9]; 4007 -> 941[label="",style="solid", color="burlywood", weight=3]; 4008[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];930 -> 4008[label="",style="solid", color="burlywood", weight=9]; 4008 -> 942[label="",style="solid", color="burlywood", weight=3]; 931[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];931 -> 943[label="",style="solid", color="black", weight=3]; 844[label="pr2F0G0 vx67 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];844 -> 856[label="",style="solid", color="black", weight=3]; 845[label="pr2F0G1 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];845 -> 857[label="",style="solid", color="black", weight=3]; 932 -> 886[label="",style="dashed", color="red", weight=0]; 932[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat vx7500)",fontsize=16,color="magenta"];932 -> 944[label="",style="dashed", color="magenta", weight=3]; 933[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) MyFalse",fontsize=16,color="black",shape="box"];933 -> 945[label="",style="solid", color="black", weight=3]; 934 -> 946[label="",style="dashed", color="red", weight=0]; 934[label="pr2F0G vx72 (srRatio vx73 vx73) (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];934 -> 947[label="",style="dashed", color="magenta", weight=3]; 977 -> 33[label="",style="dashed", color="red", weight=0]; 977[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];978[label="vx68",fontsize=16,color="green",shape="box"];979[label="vx44",fontsize=16,color="green",shape="box"];980[label="Zero",fontsize=16,color="green",shape="box"];976[label="pr2F vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="triangle"];976 -> 986[label="",style="solid", color="black", weight=3]; 852[label="pr2F0G1 vx68 (srRatio vx44 vx44) (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];852 -> 864[label="",style="solid", color="black", weight=3]; 941[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ (Succ vx8000)))",fontsize=16,color="black",shape="box"];941 -> 948[label="",style="solid", color="black", weight=3]; 942[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];942 -> 949[label="",style="solid", color="black", weight=3]; 943[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) MyTrue",fontsize=16,color="black",shape="box"];943 -> 950[label="",style="solid", color="black", weight=3]; 856 -> 995[label="",style="dashed", color="red", weight=0]; 856[label="pr2F vx50 (msMyInt (Neg (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx50 vx67)",fontsize=16,color="magenta"];856 -> 996[label="",style="dashed", color="magenta", weight=3]; 856 -> 997[label="",style="dashed", color="magenta", weight=3]; 856 -> 998[label="",style="dashed", color="magenta", weight=3]; 856 -> 999[label="",style="dashed", color="magenta", weight=3]; 857[label="pr2F0G1 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];857 -> 871[label="",style="solid", color="black", weight=3]; 944[label="vx7500",fontsize=16,color="green",shape="box"];945[label="pr2F0G0 vx72 vx73 (Pos (Succ vx74)) otherwise",fontsize=16,color="black",shape="box"];945 -> 951[label="",style="solid", color="black", weight=3]; 947 -> 903[label="",style="dashed", color="red", weight=0]; 947[label="srRatio vx73 vx73",fontsize=16,color="magenta"];947 -> 952[label="",style="dashed", color="magenta", weight=3]; 946[label="pr2F0G vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];946 -> 953[label="",style="solid", color="black", weight=3]; 986[label="pr2F4 vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];986 -> 993[label="",style="solid", color="black", weight=3]; 864[label="pr2F0G1 vx68 (srRatio vx44 vx44) (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];864 -> 878[label="",style="solid", color="black", weight=3]; 948 -> 917[label="",style="dashed", color="red", weight=0]; 948[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat vx8000)",fontsize=16,color="magenta"];948 -> 959[label="",style="dashed", color="magenta", weight=3]; 949[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) MyFalse",fontsize=16,color="black",shape="box"];949 -> 960[label="",style="solid", color="black", weight=3]; 950 -> 961[label="",style="dashed", color="red", weight=0]; 950[label="pr2F0G vx77 (srRatio vx78 vx78) (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];950 -> 962[label="",style="dashed", color="magenta", weight=3]; 996[label="vx67",fontsize=16,color="green",shape="box"];997[label="Zero",fontsize=16,color="green",shape="box"];998 -> 33[label="",style="dashed", color="red", weight=0]; 998[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];999[label="vx50",fontsize=16,color="green",shape="box"];995[label="pr2F vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="triangle"];995 -> 1005[label="",style="solid", color="black", weight=3]; 871[label="pr2F0G1 vx67 (srRatio vx50 vx50) (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];871 -> 885[label="",style="solid", color="black", weight=3]; 951[label="pr2F0G0 vx72 vx73 (Pos (Succ vx74)) MyTrue",fontsize=16,color="black",shape="box"];951 -> 963[label="",style="solid", color="black", weight=3]; 952[label="vx73",fontsize=16,color="green",shape="box"];903[label="srRatio vx44 vx44",fontsize=16,color="burlywood",shape="triangle"];4009[label="vx44/CnPc vx440 vx441",fontsize=10,color="white",style="solid",shape="box"];903 -> 4009[label="",style="solid", color="burlywood", weight=9]; 4009 -> 916[label="",style="solid", color="burlywood", weight=3]; 953[label="pr2F0G2 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];953 -> 964[label="",style="solid", color="black", weight=3]; 993[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];993 -> 1006[label="",style="solid", color="black", weight=3]; 878 -> 802[label="",style="dashed", color="red", weight=0]; 878[label="pr2F0G1 vx68 (srRatio vx44 vx44) (Pos (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];878 -> 902[label="",style="dashed", color="magenta", weight=3]; 878 -> 903[label="",style="dashed", color="magenta", weight=3]; 959[label="vx8000",fontsize=16,color="green",shape="box"];960[label="pr2F0G0 vx77 vx78 (Neg (Succ vx79)) otherwise",fontsize=16,color="black",shape="box"];960 -> 965[label="",style="solid", color="black", weight=3]; 962 -> 903[label="",style="dashed", color="red", weight=0]; 962[label="srRatio vx78 vx78",fontsize=16,color="magenta"];962 -> 966[label="",style="dashed", color="magenta", weight=3]; 961[label="pr2F0G vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];961 -> 967[label="",style="solid", color="black", weight=3]; 1005[label="pr2F4 vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1005 -> 1010[label="",style="solid", color="black", weight=3]; 885[label="pr2F0G1 vx67 (srRatio vx50 vx50) (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];885 -> 910[label="",style="solid", color="black", weight=3]; 963 -> 976[label="",style="dashed", color="red", weight=0]; 963[label="pr2F vx73 (msMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx73 vx72)",fontsize=16,color="magenta"];963 -> 985[label="",style="dashed", color="magenta", weight=3]; 916[label="srRatio (CnPc vx440 vx441) (CnPc vx440 vx441)",fontsize=16,color="black",shape="box"];916 -> 940[label="",style="solid", color="black", weight=3]; 964[label="pr2F0G1 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];964 -> 987[label="",style="solid", color="black", weight=3]; 1006[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1006 -> 1011[label="",style="solid", color="black", weight=3]; 902[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];902 -> 915[label="",style="solid", color="black", weight=3]; 965[label="pr2F0G0 vx77 vx78 (Neg (Succ vx79)) MyTrue",fontsize=16,color="black",shape="box"];965 -> 988[label="",style="solid", color="black", weight=3]; 966[label="vx78",fontsize=16,color="green",shape="box"];967[label="pr2F0G2 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];967 -> 989[label="",style="solid", color="black", weight=3]; 1010[label="pr2F3 (esEsMyInt (msMyInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1010 -> 1016[label="",style="solid", color="black", weight=3]; 910 -> 805[label="",style="dashed", color="red", weight=0]; 910[label="pr2F0G1 vx67 (srRatio vx50 vx50) (Neg (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];910 -> 936[label="",style="dashed", color="magenta", weight=3]; 910 -> 937[label="",style="dashed", color="magenta", weight=3]; 985 -> 33[label="",style="dashed", color="red", weight=0]; 985[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];940[label="reduce (srMyInt vx440 vx440) (srMyInt vx441 vx441)",fontsize=16,color="black",shape="box"];940 -> 958[label="",style="solid", color="black", weight=3]; 987[label="pr2F0G1 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];987 -> 994[label="",style="solid", color="black", weight=3]; 1011[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4010[label="vx85/Pos vx850",fontsize=10,color="white",style="solid",shape="box"];1011 -> 4010[label="",style="solid", color="burlywood", weight=9]; 4010 -> 1017[label="",style="solid", color="burlywood", weight=3]; 4011[label="vx85/Neg vx850",fontsize=10,color="white",style="solid",shape="box"];1011 -> 4011[label="",style="solid", color="burlywood", weight=9]; 4011 -> 1018[label="",style="solid", color="burlywood", weight=3]; 915[label="Zero",fontsize=16,color="green",shape="box"];988 -> 995[label="",style="dashed", color="red", weight=0]; 988[label="pr2F vx78 (msMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx78 vx77)",fontsize=16,color="magenta"];988 -> 1004[label="",style="dashed", color="magenta", weight=3]; 989[label="pr2F0G1 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];989 -> 1007[label="",style="solid", color="black", weight=3]; 1016[label="pr2F3 (primEqInt (msMyInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1016 -> 1025[label="",style="solid", color="black", weight=3]; 936 -> 903[label="",style="dashed", color="red", weight=0]; 936[label="srRatio vx50 vx50",fontsize=16,color="magenta"];936 -> 955[label="",style="dashed", color="magenta", weight=3]; 937 -> 902[label="",style="dashed", color="red", weight=0]; 937[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];958[label="reduce2 (srMyInt vx440 vx440) (srMyInt vx441 vx441)",fontsize=16,color="black",shape="box"];958 -> 968[label="",style="solid", color="black", weight=3]; 994[label="pr2F0G1 vx72 vx81 (primQuotInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];994 -> 1008[label="",style="solid", color="black", weight=3]; 1017[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) (Pos vx850)) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) (Pos vx850)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1017 -> 1026[label="",style="solid", color="black", weight=3]; 1018[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) (Neg vx850)) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) (Neg vx850)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1018 -> 1027[label="",style="solid", color="black", weight=3]; 1004 -> 33[label="",style="dashed", color="red", weight=0]; 1004[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];1007[label="pr2F0G1 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];1007 -> 1012[label="",style="solid", color="black", weight=3]; 1025[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="box"];4012[label="vx86/Pos vx860",fontsize=10,color="white",style="solid",shape="box"];1025 -> 4012[label="",style="solid", color="burlywood", weight=9]; 4012 -> 1033[label="",style="solid", color="burlywood", weight=3]; 4013[label="vx86/Neg vx860",fontsize=10,color="white",style="solid",shape="box"];1025 -> 4013[label="",style="solid", color="burlywood", weight=9]; 4013 -> 1034[label="",style="solid", color="burlywood", weight=3]; 955[label="vx50",fontsize=16,color="green",shape="box"];968[label="reduce2Reduce1 (srMyInt vx440 vx440) (srMyInt vx441 vx441) (srMyInt vx440 vx440) (srMyInt vx441 vx441) (esEsMyInt (srMyInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];968 -> 990[label="",style="solid", color="black", weight=3]; 1008[label="pr2F0G1 vx72 vx81 (primQuotInt (Pos (Succ vx74)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos (Succ vx74)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1008 -> 1013[label="",style="solid", color="black", weight=3]; 1026[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) vx850) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) vx850) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4014[label="vx850/Succ vx8500",fontsize=10,color="white",style="solid",shape="box"];1026 -> 4014[label="",style="solid", color="burlywood", weight=9]; 4014 -> 1035[label="",style="solid", color="burlywood", weight=3]; 4015[label="vx850/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 4015[label="",style="solid", color="burlywood", weight=9]; 4015 -> 1036[label="",style="solid", color="burlywood", weight=3]; 1027 -> 1037[label="",style="dashed", color="red", weight=0]; 1027[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx74) vx850)) (fromIntMyInt (Pos Zero))) vx73 (Pos (primPlusNat (Succ vx74) vx850)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1027 -> 1038[label="",style="dashed", color="magenta", weight=3]; 1027 -> 1039[label="",style="dashed", color="magenta", weight=3]; 1012[label="pr2F0G1 vx77 vx82 (primQuotInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];1012 -> 1019[label="",style="solid", color="black", weight=3]; 1033[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) (Pos vx860)) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) (Pos vx860)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1033 -> 1040[label="",style="solid", color="black", weight=3]; 1034[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) (Neg vx860)) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) (Neg vx860)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1034 -> 1041[label="",style="solid", color="black", weight=3]; 990[label="reduce2Reduce1 (srMyInt vx440 vx440) (srMyInt vx441 vx441) (srMyInt vx440 vx440) (srMyInt vx441 vx441) (primEqInt (srMyInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];990 -> 1009[label="",style="solid", color="black", weight=3]; 1013 -> 802[label="",style="dashed", color="red", weight=0]; 1013[label="pr2F0G1 vx72 vx81 (Pos (primDivNatS (Succ vx74) (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS (Succ vx74) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1013 -> 1020[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1021[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1035[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) (Succ vx8500)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) (Succ vx8500)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1035 -> 1042[label="",style="solid", color="black", weight=3]; 1036[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1036 -> 1043[label="",style="solid", color="black", weight=3]; 1038 -> 76[label="",style="dashed", color="red", weight=0]; 1038[label="primPlusNat (Succ vx74) vx850",fontsize=16,color="magenta"];1038 -> 1044[label="",style="dashed", color="magenta", weight=3]; 1038 -> 1045[label="",style="dashed", color="magenta", weight=3]; 1039 -> 76[label="",style="dashed", color="red", weight=0]; 1039[label="primPlusNat (Succ vx74) vx850",fontsize=16,color="magenta"];1039 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1039 -> 1047[label="",style="dashed", color="magenta", weight=3]; 1037[label="pr2F3 (primEqInt (Pos vx88) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="triangle"];4016[label="vx88/Succ vx880",fontsize=10,color="white",style="solid",shape="box"];1037 -> 4016[label="",style="solid", color="burlywood", weight=9]; 4016 -> 1048[label="",style="solid", color="burlywood", weight=3]; 4017[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];1037 -> 4017[label="",style="solid", color="burlywood", weight=9]; 4017 -> 1049[label="",style="solid", color="burlywood", weight=3]; 1019[label="pr2F0G1 vx77 vx82 (primQuotInt (Neg (Succ vx79)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg (Succ vx79)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1019 -> 1028[label="",style="solid", color="black", weight=3]; 1040 -> 1057[label="",style="dashed", color="red", weight=0]; 1040[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vx79) vx860)) (fromIntMyInt (Pos Zero))) vx78 (Neg (primPlusNat (Succ vx79) vx860)) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1040 -> 1058[label="",style="dashed", color="magenta", weight=3]; 1040 -> 1059[label="",style="dashed", color="magenta", weight=3]; 1041[label="pr2F3 (primEqInt (primMinusNat vx860 (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat vx860 (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="box"];4018[label="vx860/Succ vx8600",fontsize=10,color="white",style="solid",shape="box"];1041 -> 4018[label="",style="solid", color="burlywood", weight=9]; 4018 -> 1060[label="",style="solid", color="burlywood", weight=3]; 4019[label="vx860/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 4019[label="",style="solid", color="burlywood", weight=9]; 4019 -> 1061[label="",style="solid", color="burlywood", weight=3]; 1009[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt vx441 vx441) (srMyInt vx440 vx440) (primMulInt vx441 vx441) (primEqInt (primMulInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4020[label="vx441/Pos vx4410",fontsize=10,color="white",style="solid",shape="box"];1009 -> 4020[label="",style="solid", color="burlywood", weight=9]; 4020 -> 1014[label="",style="solid", color="burlywood", weight=3]; 4021[label="vx441/Neg vx4410",fontsize=10,color="white",style="solid",shape="box"];1009 -> 4021[label="",style="solid", color="burlywood", weight=9]; 4021 -> 1015[label="",style="solid", color="burlywood", weight=3]; 1020[label="primDivNatS (Succ vx74) (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];1020 -> 1029[label="",style="solid", color="black", weight=3]; 1021[label="vx81",fontsize=16,color="green",shape="box"];1022[label="vx72",fontsize=16,color="green",shape="box"];1042[label="pr2F3 (primEqInt (primMinusNat vx74 vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat vx74 vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="triangle"];4022[label="vx74/Succ vx740",fontsize=10,color="white",style="solid",shape="box"];1042 -> 4022[label="",style="solid", color="burlywood", weight=9]; 4022 -> 1062[label="",style="solid", color="burlywood", weight=3]; 4023[label="vx74/Zero",fontsize=10,color="white",style="solid",shape="box"];1042 -> 4023[label="",style="solid", color="burlywood", weight=9]; 4023 -> 1063[label="",style="solid", color="burlywood", weight=3]; 1043 -> 1037[label="",style="dashed", color="red", weight=0]; 1043[label="pr2F3 (primEqInt (Pos (Succ vx74)) (fromIntMyInt (Pos Zero))) vx73 (Pos (Succ vx74)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1043 -> 1064[label="",style="dashed", color="magenta", weight=3]; 1043 -> 1065[label="",style="dashed", color="magenta", weight=3]; 1044[label="vx850",fontsize=16,color="green",shape="box"];1045[label="Succ vx74",fontsize=16,color="green",shape="box"];1046[label="vx850",fontsize=16,color="green",shape="box"];1047[label="Succ vx74",fontsize=16,color="green",shape="box"];1048[label="pr2F3 (primEqInt (Pos (Succ vx880)) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1048 -> 1066[label="",style="solid", color="black", weight=3]; 1049[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1049 -> 1067[label="",style="solid", color="black", weight=3]; 1028 -> 805[label="",style="dashed", color="red", weight=0]; 1028[label="pr2F0G1 vx77 vx82 (Neg (primDivNatS (Succ vx79) (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS (Succ vx79) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1028 -> 1050[label="",style="dashed", color="magenta", weight=3]; 1028 -> 1051[label="",style="dashed", color="magenta", weight=3]; 1028 -> 1052[label="",style="dashed", color="magenta", weight=3]; 1058 -> 76[label="",style="dashed", color="red", weight=0]; 1058[label="primPlusNat (Succ vx79) vx860",fontsize=16,color="magenta"];1058 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1069[label="",style="dashed", color="magenta", weight=3]; 1059 -> 76[label="",style="dashed", color="red", weight=0]; 1059[label="primPlusNat (Succ vx79) vx860",fontsize=16,color="magenta"];1059 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1057[label="pr2F3 (primEqInt (Neg vx90) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="triangle"];4024[label="vx90/Succ vx900",fontsize=10,color="white",style="solid",shape="box"];1057 -> 4024[label="",style="solid", color="burlywood", weight=9]; 4024 -> 1072[label="",style="solid", color="burlywood", weight=3]; 4025[label="vx90/Zero",fontsize=10,color="white",style="solid",shape="box"];1057 -> 4025[label="",style="solid", color="burlywood", weight=9]; 4025 -> 1073[label="",style="solid", color="burlywood", weight=3]; 1060[label="pr2F3 (primEqInt (primMinusNat (Succ vx8600) (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat (Succ vx8600) (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1060 -> 1090[label="",style="solid", color="black", weight=3]; 1061[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat Zero (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1061 -> 1091[label="",style="solid", color="black", weight=3]; 1014[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt (Pos vx4410) (Pos vx4410)) (srMyInt vx440 vx440) (primMulInt (Pos vx4410) (Pos vx4410)) (primEqInt (primMulInt (Pos vx4410) (Pos vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1014 -> 1023[label="",style="solid", color="black", weight=3]; 1015[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt (Neg vx4410) (Neg vx4410)) (srMyInt vx440 vx440) (primMulInt (Neg vx4410) (Neg vx4410)) (primEqInt (primMulInt (Neg vx4410) (Neg vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1015 -> 1024[label="",style="solid", color="black", weight=3]; 1029[label="primDivNatS0 vx74 (Succ Zero) (primGEqNatS vx74 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];4026[label="vx74/Succ vx740",fontsize=10,color="white",style="solid",shape="box"];1029 -> 4026[label="",style="solid", color="burlywood", weight=9]; 4026 -> 1053[label="",style="solid", color="burlywood", weight=3]; 4027[label="vx74/Zero",fontsize=10,color="white",style="solid",shape="box"];1029 -> 4027[label="",style="solid", color="burlywood", weight=9]; 4027 -> 1054[label="",style="solid", color="burlywood", weight=3]; 1062[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4028[label="vx8500/Succ vx85000",fontsize=10,color="white",style="solid",shape="box"];1062 -> 4028[label="",style="solid", color="burlywood", weight=9]; 4028 -> 1092[label="",style="solid", color="burlywood", weight=3]; 4029[label="vx8500/Zero",fontsize=10,color="white",style="solid",shape="box"];1062 -> 4029[label="",style="solid", color="burlywood", weight=9]; 4029 -> 1093[label="",style="solid", color="burlywood", weight=3]; 1063[label="pr2F3 (primEqInt (primMinusNat Zero vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4030[label="vx8500/Succ vx85000",fontsize=10,color="white",style="solid",shape="box"];1063 -> 4030[label="",style="solid", color="burlywood", weight=9]; 4030 -> 1094[label="",style="solid", color="burlywood", weight=3]; 4031[label="vx8500/Zero",fontsize=10,color="white",style="solid",shape="box"];1063 -> 4031[label="",style="solid", color="burlywood", weight=9]; 4031 -> 1095[label="",style="solid", color="burlywood", weight=3]; 1064[label="Succ vx74",fontsize=16,color="green",shape="box"];1065[label="Succ vx74",fontsize=16,color="green",shape="box"];1066[label="pr2F3 (primEqInt (Pos (Succ vx880)) (Pos Zero)) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1066 -> 1096[label="",style="solid", color="black", weight=3]; 1067[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1067 -> 1097[label="",style="solid", color="black", weight=3]; 1050[label="vx77",fontsize=16,color="green",shape="box"];1051[label="vx82",fontsize=16,color="green",shape="box"];1052 -> 1020[label="",style="dashed", color="red", weight=0]; 1052[label="primDivNatS (Succ vx79) (Succ (Succ Zero))",fontsize=16,color="magenta"];1052 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1068[label="vx860",fontsize=16,color="green",shape="box"];1069[label="Succ vx79",fontsize=16,color="green",shape="box"];1070[label="vx860",fontsize=16,color="green",shape="box"];1071[label="Succ vx79",fontsize=16,color="green",shape="box"];1072[label="pr2F3 (primEqInt (Neg (Succ vx900)) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1072 -> 1098[label="",style="solid", color="black", weight=3]; 1073[label="pr2F3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1073 -> 1099[label="",style="solid", color="black", weight=3]; 1090 -> 1042[label="",style="dashed", color="red", weight=0]; 1090[label="pr2F3 (primEqInt (primMinusNat vx8600 vx79) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat vx8600 vx79) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1090 -> 1110[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1113[label="",style="dashed", color="magenta", weight=3]; 1091 -> 1057[label="",style="dashed", color="red", weight=0]; 1091[label="pr2F3 (primEqInt (Neg (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (Neg (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1091 -> 1114[label="",style="dashed", color="magenta", weight=3]; 1091 -> 1115[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1261[label="",style="dashed", color="red", weight=0]; 1023[label="reduce2Reduce1 (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (primEqInt (Pos (primMulNat vx4410 vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1023 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1263[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1264[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1265[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1266[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1261[label="",style="dashed", color="red", weight=0]; 1024[label="reduce2Reduce1 (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (primEqInt (Pos (primMulNat vx4410 vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1024 -> 1267[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1268[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1269[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1270[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1271[label="",style="dashed", color="magenta", weight=3]; 1053[label="primDivNatS0 (Succ vx740) (Succ Zero) (primGEqNatS (Succ vx740) (Succ Zero))",fontsize=16,color="black",shape="box"];1053 -> 1075[label="",style="solid", color="black", weight=3]; 1054[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];1054 -> 1076[label="",style="solid", color="black", weight=3]; 1092[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1092 -> 1116[label="",style="solid", color="black", weight=3]; 1093[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1093 -> 1117[label="",style="solid", color="black", weight=3]; 1094[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1094 -> 1118[label="",style="solid", color="black", weight=3]; 1095[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1095 -> 1119[label="",style="solid", color="black", weight=3]; 1096[label="pr2F3 MyFalse vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1096 -> 1120[label="",style="solid", color="black", weight=3]; 1097[label="pr2F3 MyTrue vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1097 -> 1121[label="",style="solid", color="black", weight=3]; 1074[label="vx79",fontsize=16,color="green",shape="box"];1098 -> 775[label="",style="dashed", color="red", weight=0]; 1098[label="pr2F3 (primEqInt (Neg (Succ vx900)) (Pos Zero)) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1098 -> 1122[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1123[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1124[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1125[label="",style="dashed", color="magenta", weight=3]; 1099[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1099 -> 1126[label="",style="solid", color="black", weight=3]; 1110[label="vx79",fontsize=16,color="green",shape="box"];1111[label="vx77",fontsize=16,color="green",shape="box"];1112[label="vx78",fontsize=16,color="green",shape="box"];1113[label="vx8600",fontsize=16,color="green",shape="box"];1114[label="Succ vx79",fontsize=16,color="green",shape="box"];1115[label="Succ vx79",fontsize=16,color="green",shape="box"];1262[label="primMulNat vx4410 vx4410",fontsize=16,color="burlywood",shape="triangle"];4032[label="vx4410/Succ vx44100",fontsize=10,color="white",style="solid",shape="box"];1262 -> 4032[label="",style="solid", color="burlywood", weight=9]; 4032 -> 1295[label="",style="solid", color="burlywood", weight=3]; 4033[label="vx4410/Zero",fontsize=10,color="white",style="solid",shape="box"];1262 -> 4033[label="",style="solid", color="burlywood", weight=9]; 4033 -> 1296[label="",style="solid", color="burlywood", weight=3]; 1263 -> 1262[label="",style="dashed", color="red", weight=0]; 1263[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1264 -> 1262[label="",style="dashed", color="red", weight=0]; 1264[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1265[label="vx440",fontsize=16,color="green",shape="box"];1266[label="vx440",fontsize=16,color="green",shape="box"];1261[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos vx99) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];4034[label="vx99/Succ vx990",fontsize=10,color="white",style="solid",shape="box"];1261 -> 4034[label="",style="solid", color="burlywood", weight=9]; 4034 -> 1297[label="",style="solid", color="burlywood", weight=3]; 4035[label="vx99/Zero",fontsize=10,color="white",style="solid",shape="box"];1261 -> 4035[label="",style="solid", color="burlywood", weight=9]; 4035 -> 1298[label="",style="solid", color="burlywood", weight=3]; 1267 -> 1262[label="",style="dashed", color="red", weight=0]; 1267[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1267 -> 1299[label="",style="dashed", color="magenta", weight=3]; 1268 -> 1262[label="",style="dashed", color="red", weight=0]; 1268[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1268 -> 1300[label="",style="dashed", color="magenta", weight=3]; 1269 -> 1262[label="",style="dashed", color="red", weight=0]; 1269[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1269 -> 1301[label="",style="dashed", color="magenta", weight=3]; 1270[label="vx440",fontsize=16,color="green",shape="box"];1271[label="vx440",fontsize=16,color="green",shape="box"];1075 -> 3546[label="",style="dashed", color="red", weight=0]; 1075[label="primDivNatS0 (Succ vx740) (Succ Zero) (primGEqNatS vx740 Zero)",fontsize=16,color="magenta"];1075 -> 3547[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3548[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3549[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3550[label="",style="dashed", color="magenta", weight=3]; 1076[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1076 -> 1109[label="",style="solid", color="black", weight=3]; 1116 -> 1042[label="",style="dashed", color="red", weight=0]; 1116[label="pr2F3 (primEqInt (primMinusNat vx740 vx85000) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat vx740 vx85000) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1116 -> 1133[label="",style="dashed", color="magenta", weight=3]; 1116 -> 1134[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1037[label="",style="dashed", color="red", weight=0]; 1117[label="pr2F3 (primEqInt (Pos (Succ vx740)) (fromIntMyInt (Pos Zero))) vx73 (Pos (Succ vx740)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1057[label="",style="dashed", color="red", weight=0]; 1118[label="pr2F3 (primEqInt (Neg (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (Neg (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1118 -> 1137[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1138[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1139[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1140[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1037[label="",style="dashed", color="red", weight=0]; 1119[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx73 (Pos Zero) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1119 -> 1141[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1142[label="",style="dashed", color="magenta", weight=3]; 1120[label="pr2F0 vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1120 -> 1143[label="",style="solid", color="black", weight=3]; 1121[label="srRatio vx73 vx72",fontsize=16,color="burlywood",shape="triangle"];4036[label="vx73/CnPc vx730 vx731",fontsize=10,color="white",style="solid",shape="box"];1121 -> 4036[label="",style="solid", color="burlywood", weight=9]; 4036 -> 1144[label="",style="solid", color="burlywood", weight=3]; 1122 -> 1121[label="",style="dashed", color="red", weight=0]; 1122[label="srRatio vx78 vx77",fontsize=16,color="magenta"];1122 -> 1145[label="",style="dashed", color="magenta", weight=3]; 1122 -> 1146[label="",style="dashed", color="magenta", weight=3]; 1123[label="vx900",fontsize=16,color="green",shape="box"];1124[label="vx78",fontsize=16,color="green",shape="box"];1125[label="vx89",fontsize=16,color="green",shape="box"];1126 -> 1147[label="",style="dashed", color="red", weight=0]; 1126[label="pr2F3 MyTrue vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1126 -> 1148[label="",style="dashed", color="magenta", weight=3]; 1295[label="primMulNat (Succ vx44100) (Succ vx44100)",fontsize=16,color="black",shape="box"];1295 -> 1329[label="",style="solid", color="black", weight=3]; 1296[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1296 -> 1330[label="",style="solid", color="black", weight=3]; 1297[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos (Succ vx990)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1297 -> 1331[label="",style="solid", color="black", weight=3]; 1298[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1298 -> 1332[label="",style="solid", color="black", weight=3]; 1299[label="vx4410",fontsize=16,color="green",shape="box"];1300[label="vx4410",fontsize=16,color="green",shape="box"];1301[label="vx4410",fontsize=16,color="green",shape="box"];3547[label="Zero",fontsize=16,color="green",shape="box"];3548[label="Zero",fontsize=16,color="green",shape="box"];3549[label="vx740",fontsize=16,color="green",shape="box"];3550[label="vx740",fontsize=16,color="green",shape="box"];3546[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS vx167 vx168)",fontsize=16,color="burlywood",shape="triangle"];4037[label="vx167/Succ vx1670",fontsize=10,color="white",style="solid",shape="box"];3546 -> 4037[label="",style="solid", color="burlywood", weight=9]; 4037 -> 3591[label="",style="solid", color="burlywood", weight=3]; 4038[label="vx167/Zero",fontsize=10,color="white",style="solid",shape="box"];3546 -> 4038[label="",style="solid", color="burlywood", weight=9]; 4038 -> 3592[label="",style="solid", color="burlywood", weight=3]; 1109[label="Zero",fontsize=16,color="green",shape="box"];1133[label="vx85000",fontsize=16,color="green",shape="box"];1134[label="vx740",fontsize=16,color="green",shape="box"];1135[label="Succ vx740",fontsize=16,color="green",shape="box"];1136[label="Succ vx740",fontsize=16,color="green",shape="box"];1137[label="Succ vx85000",fontsize=16,color="green",shape="box"];1138[label="vx72",fontsize=16,color="green",shape="box"];1139[label="Succ vx85000",fontsize=16,color="green",shape="box"];1140[label="vx73",fontsize=16,color="green",shape="box"];1141[label="Zero",fontsize=16,color="green",shape="box"];1142[label="Zero",fontsize=16,color="green",shape="box"];1143 -> 792[label="",style="dashed", color="red", weight=0]; 1143[label="pr2F0G (srRatio vx73 vx72) vx73 (Pos vx87)",fontsize=16,color="magenta"];1143 -> 1149[label="",style="dashed", color="magenta", weight=3]; 1143 -> 1150[label="",style="dashed", color="magenta", weight=3]; 1143 -> 1151[label="",style="dashed", color="magenta", weight=3]; 1144[label="srRatio (CnPc vx730 vx731) vx72",fontsize=16,color="burlywood",shape="box"];4039[label="vx72/CnPc vx720 vx721",fontsize=10,color="white",style="solid",shape="box"];1144 -> 4039[label="",style="solid", color="burlywood", weight=9]; 4039 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1145[label="vx77",fontsize=16,color="green",shape="box"];1146[label="vx78",fontsize=16,color="green",shape="box"];1148 -> 1121[label="",style="dashed", color="red", weight=0]; 1148[label="srRatio vx78 vx77",fontsize=16,color="magenta"];1148 -> 1153[label="",style="dashed", color="magenta", weight=3]; 1148 -> 1154[label="",style="dashed", color="magenta", weight=3]; 1147[label="pr2F3 MyTrue vx78 (Neg vx89) vx94",fontsize=16,color="black",shape="triangle"];1147 -> 1155[label="",style="solid", color="black", weight=3]; 1329 -> 76[label="",style="dashed", color="red", weight=0]; 1329[label="primPlusNat (primMulNat vx44100 (Succ vx44100)) (Succ vx44100)",fontsize=16,color="magenta"];1329 -> 1345[label="",style="dashed", color="magenta", weight=3]; 1329 -> 1346[label="",style="dashed", color="magenta", weight=3]; 1330[label="Zero",fontsize=16,color="green",shape="box"];1331[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos (Succ vx990)) (Pos Zero))",fontsize=16,color="black",shape="box"];1331 -> 1347[label="",style="solid", color="black", weight=3]; 1332[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];1332 -> 1348[label="",style="solid", color="black", weight=3]; 3591[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) vx168)",fontsize=16,color="burlywood",shape="box"];4040[label="vx168/Succ vx1680",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4040[label="",style="solid", color="burlywood", weight=9]; 4040 -> 3607[label="",style="solid", color="burlywood", weight=3]; 4041[label="vx168/Zero",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4041[label="",style="solid", color="burlywood", weight=9]; 4041 -> 3608[label="",style="solid", color="burlywood", weight=3]; 3592[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero vx168)",fontsize=16,color="burlywood",shape="box"];4042[label="vx168/Succ vx1680",fontsize=10,color="white",style="solid",shape="box"];3592 -> 4042[label="",style="solid", color="burlywood", weight=9]; 4042 -> 3609[label="",style="solid", color="burlywood", weight=3]; 4043[label="vx168/Zero",fontsize=10,color="white",style="solid",shape="box"];3592 -> 4043[label="",style="solid", color="burlywood", weight=9]; 4043 -> 3610[label="",style="solid", color="burlywood", weight=3]; 1149[label="vx87",fontsize=16,color="green",shape="box"];1150[label="vx73",fontsize=16,color="green",shape="box"];1151 -> 1121[label="",style="dashed", color="red", weight=0]; 1151[label="srRatio vx73 vx72",fontsize=16,color="magenta"];1152[label="srRatio (CnPc vx730 vx731) (CnPc vx720 vx721)",fontsize=16,color="black",shape="box"];1152 -> 1162[label="",style="solid", color="black", weight=3]; 1153[label="vx77",fontsize=16,color="green",shape="box"];1154[label="vx78",fontsize=16,color="green",shape="box"];1155[label="vx94",fontsize=16,color="green",shape="box"];1345[label="Succ vx44100",fontsize=16,color="green",shape="box"];1346 -> 1277[label="",style="dashed", color="red", weight=0]; 1346[label="primMulNat vx44100 (Succ vx44100)",fontsize=16,color="magenta"];1346 -> 1355[label="",style="dashed", color="magenta", weight=3]; 1346 -> 1356[label="",style="dashed", color="magenta", weight=3]; 1347[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyFalse",fontsize=16,color="black",shape="box"];1347 -> 1357[label="",style="solid", color="black", weight=3]; 1348[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyTrue",fontsize=16,color="black",shape="box"];1348 -> 1358[label="",style="solid", color="black", weight=3]; 3607[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) (Succ vx1680))",fontsize=16,color="black",shape="box"];3607 -> 3629[label="",style="solid", color="black", weight=3]; 3608[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) Zero)",fontsize=16,color="black",shape="box"];3608 -> 3630[label="",style="solid", color="black", weight=3]; 3609[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero (Succ vx1680))",fontsize=16,color="black",shape="box"];3609 -> 3631[label="",style="solid", color="black", weight=3]; 3610[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3610 -> 3632[label="",style="solid", color="black", weight=3]; 1162[label="reduce (srMyInt vx730 vx720) (srMyInt vx731 vx721)",fontsize=16,color="black",shape="box"];1162 -> 1169[label="",style="solid", color="black", weight=3]; 1355[label="vx44100",fontsize=16,color="green",shape="box"];1356[label="Succ vx44100",fontsize=16,color="green",shape="box"];1277[label="primMulNat vx7310 vx7210",fontsize=16,color="burlywood",shape="triangle"];4044[label="vx7310/Succ vx73100",fontsize=10,color="white",style="solid",shape="box"];1277 -> 4044[label="",style="solid", color="burlywood", weight=9]; 4044 -> 1302[label="",style="solid", color="burlywood", weight=3]; 4045[label="vx7310/Zero",fontsize=10,color="white",style="solid",shape="box"];1277 -> 4045[label="",style="solid", color="burlywood", weight=9]; 4045 -> 1303[label="",style="solid", color="burlywood", weight=3]; 1357[label="reduce2Reduce0 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) otherwise",fontsize=16,color="black",shape="box"];1357 -> 1363[label="",style="solid", color="black", weight=3]; 1358 -> 46[label="",style="dashed", color="red", weight=0]; 1358[label="error",fontsize=16,color="magenta"];3629 -> 3546[label="",style="dashed", color="red", weight=0]; 3629[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS vx1670 vx1680)",fontsize=16,color="magenta"];3629 -> 3648[label="",style="dashed", color="magenta", weight=3]; 3629 -> 3649[label="",style="dashed", color="magenta", weight=3]; 3630[label="primDivNatS0 (Succ vx165) (Succ vx166) MyTrue",fontsize=16,color="black",shape="triangle"];3630 -> 3650[label="",style="solid", color="black", weight=3]; 3631[label="primDivNatS0 (Succ vx165) (Succ vx166) MyFalse",fontsize=16,color="black",shape="box"];3631 -> 3651[label="",style="solid", color="black", weight=3]; 3632 -> 3630[label="",style="dashed", color="red", weight=0]; 3632[label="primDivNatS0 (Succ vx165) (Succ vx166) MyTrue",fontsize=16,color="magenta"];1169[label="reduce2 (srMyInt vx730 vx720) (srMyInt vx731 vx721)",fontsize=16,color="black",shape="box"];1169 -> 1175[label="",style="solid", color="black", weight=3]; 1302[label="primMulNat (Succ vx73100) vx7210",fontsize=16,color="burlywood",shape="box"];4046[label="vx7210/Succ vx72100",fontsize=10,color="white",style="solid",shape="box"];1302 -> 4046[label="",style="solid", color="burlywood", weight=9]; 4046 -> 1341[label="",style="solid", color="burlywood", weight=3]; 4047[label="vx7210/Zero",fontsize=10,color="white",style="solid",shape="box"];1302 -> 4047[label="",style="solid", color="burlywood", weight=9]; 4047 -> 1342[label="",style="solid", color="burlywood", weight=3]; 1303[label="primMulNat Zero vx7210",fontsize=16,color="burlywood",shape="box"];4048[label="vx7210/Succ vx72100",fontsize=10,color="white",style="solid",shape="box"];1303 -> 4048[label="",style="solid", color="burlywood", weight=9]; 4048 -> 1343[label="",style="solid", color="burlywood", weight=3]; 4049[label="vx7210/Zero",fontsize=10,color="white",style="solid",shape="box"];1303 -> 4049[label="",style="solid", color="burlywood", weight=9]; 4049 -> 1344[label="",style="solid", color="burlywood", weight=3]; 1363[label="reduce2Reduce0 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyTrue",fontsize=16,color="black",shape="box"];1363 -> 1368[label="",style="solid", color="black", weight=3]; 3648[label="vx1680",fontsize=16,color="green",shape="box"];3649[label="vx1670",fontsize=16,color="green",shape="box"];3650[label="Succ (primDivNatS (primMinusNatS (Succ vx165) (Succ vx166)) (Succ (Succ vx166)))",fontsize=16,color="green",shape="box"];3650 -> 3665[label="",style="dashed", color="green", weight=3]; 3651[label="Zero",fontsize=16,color="green",shape="box"];1175[label="reduce2Reduce1 (srMyInt vx730 vx720) (srMyInt vx731 vx721) (srMyInt vx730 vx720) (srMyInt vx731 vx721) (esEsMyInt (srMyInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1175 -> 1181[label="",style="solid", color="black", weight=3]; 1341[label="primMulNat (Succ vx73100) (Succ vx72100)",fontsize=16,color="black",shape="box"];1341 -> 1351[label="",style="solid", color="black", weight=3]; 1342[label="primMulNat (Succ vx73100) Zero",fontsize=16,color="black",shape="box"];1342 -> 1352[label="",style="solid", color="black", weight=3]; 1343[label="primMulNat Zero (Succ vx72100)",fontsize=16,color="black",shape="box"];1343 -> 1353[label="",style="solid", color="black", weight=3]; 1344[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1344 -> 1354[label="",style="solid", color="black", weight=3]; 1368[label="CnPc (quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))) (quotMyInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98)))",fontsize=16,color="green",shape="box"];1368 -> 1370[label="",style="dashed", color="green", weight=3]; 1368 -> 1371[label="",style="dashed", color="green", weight=3]; 3665 -> 2476[label="",style="dashed", color="red", weight=0]; 3665[label="primDivNatS (primMinusNatS (Succ vx165) (Succ vx166)) (Succ (Succ vx166))",fontsize=16,color="magenta"];3665 -> 3673[label="",style="dashed", color="magenta", weight=3]; 3665 -> 3674[label="",style="dashed", color="magenta", weight=3]; 1181[label="reduce2Reduce1 (srMyInt vx730 vx720) (srMyInt vx731 vx721) (srMyInt vx730 vx720) (srMyInt vx731 vx721) (primEqInt (srMyInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1181 -> 1187[label="",style="solid", color="black", weight=3]; 1351 -> 76[label="",style="dashed", color="red", weight=0]; 1351[label="primPlusNat (primMulNat vx73100 (Succ vx72100)) (Succ vx72100)",fontsize=16,color="magenta"];1351 -> 1361[label="",style="dashed", color="magenta", weight=3]; 1351 -> 1362[label="",style="dashed", color="magenta", weight=3]; 1352[label="Zero",fontsize=16,color="green",shape="box"];1353[label="Zero",fontsize=16,color="green",shape="box"];1354[label="Zero",fontsize=16,color="green",shape="box"];1370[label="quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1370 -> 1373[label="",style="solid", color="black", weight=3]; 1371[label="quotMyInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1371 -> 1374[label="",style="solid", color="black", weight=3]; 3673[label="Succ vx166",fontsize=16,color="green",shape="box"];3674[label="primMinusNatS (Succ vx165) (Succ vx166)",fontsize=16,color="black",shape="box"];3674 -> 3682[label="",style="solid", color="black", weight=3]; 2476[label="primDivNatS vx123 (Succ vx12400)",fontsize=16,color="burlywood",shape="triangle"];4050[label="vx123/Succ vx1230",fontsize=10,color="white",style="solid",shape="box"];2476 -> 4050[label="",style="solid", color="burlywood", weight=9]; 4050 -> 2488[label="",style="solid", color="burlywood", weight=3]; 4051[label="vx123/Zero",fontsize=10,color="white",style="solid",shape="box"];2476 -> 4051[label="",style="solid", color="burlywood", weight=9]; 4051 -> 2489[label="",style="solid", color="burlywood", weight=3]; 1187[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt vx731 vx721) (srMyInt vx730 vx720) (primMulInt vx731 vx721) (primEqInt (primMulInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4052[label="vx731/Pos vx7310",fontsize=10,color="white",style="solid",shape="box"];1187 -> 4052[label="",style="solid", color="burlywood", weight=9]; 4052 -> 1192[label="",style="solid", color="burlywood", weight=3]; 4053[label="vx731/Neg vx7310",fontsize=10,color="white",style="solid",shape="box"];1187 -> 4053[label="",style="solid", color="burlywood", weight=9]; 4053 -> 1193[label="",style="solid", color="burlywood", weight=3]; 1361[label="Succ vx72100",fontsize=16,color="green",shape="box"];1362 -> 1277[label="",style="dashed", color="red", weight=0]; 1362[label="primMulNat vx73100 (Succ vx72100)",fontsize=16,color="magenta"];1362 -> 1366[label="",style="dashed", color="magenta", weight=3]; 1362 -> 1367[label="",style="dashed", color="magenta", weight=3]; 1373[label="primQuotInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1373 -> 1377[label="",style="solid", color="black", weight=3]; 1374 -> 3014[label="",style="dashed", color="red", weight=0]; 1374[label="primQuotInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="magenta"];1374 -> 3015[label="",style="dashed", color="magenta", weight=3]; 3682[label="primMinusNatS vx165 vx166",fontsize=16,color="burlywood",shape="triangle"];4054[label="vx165/Succ vx1650",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4054[label="",style="solid", color="burlywood", weight=9]; 4054 -> 3691[label="",style="solid", color="burlywood", weight=3]; 4055[label="vx165/Zero",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4055[label="",style="solid", color="burlywood", weight=9]; 4055 -> 3692[label="",style="solid", color="burlywood", weight=3]; 2488[label="primDivNatS (Succ vx1230) (Succ vx12400)",fontsize=16,color="black",shape="box"];2488 -> 2502[label="",style="solid", color="black", weight=3]; 2489[label="primDivNatS Zero (Succ vx12400)",fontsize=16,color="black",shape="box"];2489 -> 2503[label="",style="solid", color="black", weight=3]; 1192[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) vx721) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) vx721) (primEqInt (primMulInt (Pos vx7310) vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4056[label="vx721/Pos vx7210",fontsize=10,color="white",style="solid",shape="box"];1192 -> 4056[label="",style="solid", color="burlywood", weight=9]; 4056 -> 1198[label="",style="solid", color="burlywood", weight=3]; 4057[label="vx721/Neg vx7210",fontsize=10,color="white",style="solid",shape="box"];1192 -> 4057[label="",style="solid", color="burlywood", weight=9]; 4057 -> 1199[label="",style="solid", color="burlywood", weight=3]; 1193[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) vx721) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) vx721) (primEqInt (primMulInt (Neg vx7310) vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4058[label="vx721/Pos vx7210",fontsize=10,color="white",style="solid",shape="box"];1193 -> 4058[label="",style="solid", color="burlywood", weight=9]; 4058 -> 1200[label="",style="solid", color="burlywood", weight=3]; 4059[label="vx721/Neg vx7210",fontsize=10,color="white",style="solid",shape="box"];1193 -> 4059[label="",style="solid", color="burlywood", weight=9]; 4059 -> 1201[label="",style="solid", color="burlywood", weight=3]; 1366[label="vx73100",fontsize=16,color="green",shape="box"];1367[label="Succ vx72100",fontsize=16,color="green",shape="box"];1377[label="primQuotInt (primMulInt vx730 vx720) (reduce2D (primMulInt vx730 vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4060[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];1377 -> 4060[label="",style="solid", color="burlywood", weight=9]; 4060 -> 1381[label="",style="solid", color="burlywood", weight=3]; 4061[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];1377 -> 4061[label="",style="solid", color="burlywood", weight=9]; 4061 -> 1382[label="",style="solid", color="burlywood", weight=3]; 3015[label="reduce2D (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3015 -> 3400[label="",style="solid", color="black", weight=3]; 3014[label="primQuotInt (Pos vx97) vx150",fontsize=16,color="burlywood",shape="triangle"];4062[label="vx150/Pos vx1500",fontsize=10,color="white",style="solid",shape="box"];3014 -> 4062[label="",style="solid", color="burlywood", weight=9]; 4062 -> 3401[label="",style="solid", color="burlywood", weight=3]; 4063[label="vx150/Neg vx1500",fontsize=10,color="white",style="solid",shape="box"];3014 -> 4063[label="",style="solid", color="burlywood", weight=9]; 4063 -> 3402[label="",style="solid", color="burlywood", weight=3]; 3691[label="primMinusNatS (Succ vx1650) vx166",fontsize=16,color="burlywood",shape="box"];4064[label="vx166/Succ vx1660",fontsize=10,color="white",style="solid",shape="box"];3691 -> 4064[label="",style="solid", color="burlywood", weight=9]; 4064 -> 3702[label="",style="solid", color="burlywood", weight=3]; 4065[label="vx166/Zero",fontsize=10,color="white",style="solid",shape="box"];3691 -> 4065[label="",style="solid", color="burlywood", weight=9]; 4065 -> 3703[label="",style="solid", color="burlywood", weight=3]; 3692[label="primMinusNatS Zero vx166",fontsize=16,color="burlywood",shape="box"];4066[label="vx166/Succ vx1660",fontsize=10,color="white",style="solid",shape="box"];3692 -> 4066[label="",style="solid", color="burlywood", weight=9]; 4066 -> 3704[label="",style="solid", color="burlywood", weight=3]; 4067[label="vx166/Zero",fontsize=10,color="white",style="solid",shape="box"];3692 -> 4067[label="",style="solid", color="burlywood", weight=9]; 4067 -> 3705[label="",style="solid", color="burlywood", weight=3]; 2502[label="primDivNatS0 vx1230 vx12400 (primGEqNatS vx1230 vx12400)",fontsize=16,color="burlywood",shape="box"];4068[label="vx1230/Succ vx12300",fontsize=10,color="white",style="solid",shape="box"];2502 -> 4068[label="",style="solid", color="burlywood", weight=9]; 4068 -> 2517[label="",style="solid", color="burlywood", weight=3]; 4069[label="vx1230/Zero",fontsize=10,color="white",style="solid",shape="box"];2502 -> 4069[label="",style="solid", color="burlywood", weight=9]; 4069 -> 2518[label="",style="solid", color="burlywood", weight=3]; 2503[label="Zero",fontsize=16,color="green",shape="box"];1198[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Pos vx7210)) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Pos vx7210)) (primEqInt (primMulInt (Pos vx7310) (Pos vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1198 -> 1207[label="",style="solid", color="black", weight=3]; 1199[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Neg vx7210)) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Neg vx7210)) (primEqInt (primMulInt (Pos vx7310) (Neg vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1199 -> 1208[label="",style="solid", color="black", weight=3]; 1200[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Pos vx7210)) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Pos vx7210)) (primEqInt (primMulInt (Neg vx7310) (Pos vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1200 -> 1209[label="",style="solid", color="black", weight=3]; 1201[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Neg vx7210)) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Neg vx7210)) (primEqInt (primMulInt (Neg vx7310) (Neg vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1201 -> 1210[label="",style="solid", color="black", weight=3]; 1381[label="primQuotInt (primMulInt (Pos vx7300) vx720) (reduce2D (primMulInt (Pos vx7300) vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4070[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1381 -> 4070[label="",style="solid", color="burlywood", weight=9]; 4070 -> 1386[label="",style="solid", color="burlywood", weight=3]; 4071[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1381 -> 4071[label="",style="solid", color="burlywood", weight=9]; 4071 -> 1387[label="",style="solid", color="burlywood", weight=3]; 1382[label="primQuotInt (primMulInt (Neg vx7300) vx720) (reduce2D (primMulInt (Neg vx7300) vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4072[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1382 -> 4072[label="",style="solid", color="burlywood", weight=9]; 4072 -> 1388[label="",style="solid", color="burlywood", weight=3]; 4073[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1382 -> 4073[label="",style="solid", color="burlywood", weight=9]; 4073 -> 1389[label="",style="solid", color="burlywood", weight=3]; 3400[label="gcd (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3400 -> 3408[label="",style="solid", color="black", weight=3]; 3401[label="primQuotInt (Pos vx97) (Pos vx1500)",fontsize=16,color="burlywood",shape="box"];4074[label="vx1500/Succ vx15000",fontsize=10,color="white",style="solid",shape="box"];3401 -> 4074[label="",style="solid", color="burlywood", weight=9]; 4074 -> 3409[label="",style="solid", color="burlywood", weight=3]; 4075[label="vx1500/Zero",fontsize=10,color="white",style="solid",shape="box"];3401 -> 4075[label="",style="solid", color="burlywood", weight=9]; 4075 -> 3410[label="",style="solid", color="burlywood", weight=3]; 3402[label="primQuotInt (Pos vx97) (Neg vx1500)",fontsize=16,color="burlywood",shape="box"];4076[label="vx1500/Succ vx15000",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4076[label="",style="solid", color="burlywood", weight=9]; 4076 -> 3411[label="",style="solid", color="burlywood", weight=3]; 4077[label="vx1500/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4077[label="",style="solid", color="burlywood", weight=9]; 4077 -> 3412[label="",style="solid", color="burlywood", weight=3]; 3702[label="primMinusNatS (Succ vx1650) (Succ vx1660)",fontsize=16,color="black",shape="box"];3702 -> 3716[label="",style="solid", color="black", weight=3]; 3703[label="primMinusNatS (Succ vx1650) Zero",fontsize=16,color="black",shape="box"];3703 -> 3717[label="",style="solid", color="black", weight=3]; 3704[label="primMinusNatS Zero (Succ vx1660)",fontsize=16,color="black",shape="box"];3704 -> 3718[label="",style="solid", color="black", weight=3]; 3705[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];3705 -> 3719[label="",style="solid", color="black", weight=3]; 2517[label="primDivNatS0 (Succ vx12300) vx12400 (primGEqNatS (Succ vx12300) vx12400)",fontsize=16,color="burlywood",shape="box"];4078[label="vx12400/Succ vx124000",fontsize=10,color="white",style="solid",shape="box"];2517 -> 4078[label="",style="solid", color="burlywood", weight=9]; 4078 -> 2532[label="",style="solid", color="burlywood", weight=3]; 4079[label="vx12400/Zero",fontsize=10,color="white",style="solid",shape="box"];2517 -> 4079[label="",style="solid", color="burlywood", weight=9]; 4079 -> 2533[label="",style="solid", color="burlywood", weight=3]; 2518[label="primDivNatS0 Zero vx12400 (primGEqNatS Zero vx12400)",fontsize=16,color="burlywood",shape="box"];4080[label="vx12400/Succ vx124000",fontsize=10,color="white",style="solid",shape="box"];2518 -> 4080[label="",style="solid", color="burlywood", weight=9]; 4080 -> 2534[label="",style="solid", color="burlywood", weight=3]; 4081[label="vx12400/Zero",fontsize=10,color="white",style="solid",shape="box"];2518 -> 4081[label="",style="solid", color="burlywood", weight=9]; 4081 -> 2535[label="",style="solid", color="burlywood", weight=3]; 1207 -> 1261[label="",style="dashed", color="red", weight=0]; 1207[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (primEqInt (Pos (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1207 -> 1277[label="",style="dashed", color="magenta", weight=3]; 1207 -> 1278[label="",style="dashed", color="magenta", weight=3]; 1207 -> 1279[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1310[label="",style="dashed", color="red", weight=0]; 1208[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (primEqInt (Neg (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1208 -> 1311[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1312[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1313[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1310[label="",style="dashed", color="red", weight=0]; 1209[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (primEqInt (Neg (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1209 -> 1314[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1315[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1316[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1261[label="",style="dashed", color="red", weight=0]; 1210[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (primEqInt (Pos (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1210 -> 1280[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1386[label="primQuotInt (primMulInt (Pos vx7300) (Pos vx7200)) (reduce2D (primMulInt (Pos vx7300) (Pos vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1386 -> 1394[label="",style="solid", color="black", weight=3]; 1387[label="primQuotInt (primMulInt (Pos vx7300) (Neg vx7200)) (reduce2D (primMulInt (Pos vx7300) (Neg vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1387 -> 1395[label="",style="solid", color="black", weight=3]; 1388[label="primQuotInt (primMulInt (Neg vx7300) (Pos vx7200)) (reduce2D (primMulInt (Neg vx7300) (Pos vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1388 -> 1396[label="",style="solid", color="black", weight=3]; 1389[label="primQuotInt (primMulInt (Neg vx7300) (Neg vx7200)) (reduce2D (primMulInt (Neg vx7300) (Neg vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1389 -> 1397[label="",style="solid", color="black", weight=3]; 3408[label="gcd3 (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3408 -> 3425[label="",style="solid", color="black", weight=3]; 3409[label="primQuotInt (Pos vx97) (Pos (Succ vx15000))",fontsize=16,color="black",shape="box"];3409 -> 3426[label="",style="solid", color="black", weight=3]; 3410[label="primQuotInt (Pos vx97) (Pos Zero)",fontsize=16,color="black",shape="box"];3410 -> 3427[label="",style="solid", color="black", weight=3]; 3411[label="primQuotInt (Pos vx97) (Neg (Succ vx15000))",fontsize=16,color="black",shape="box"];3411 -> 3428[label="",style="solid", color="black", weight=3]; 3412[label="primQuotInt (Pos vx97) (Neg Zero)",fontsize=16,color="black",shape="box"];3412 -> 3429[label="",style="solid", color="black", weight=3]; 3716 -> 3682[label="",style="dashed", color="red", weight=0]; 3716[label="primMinusNatS vx1650 vx1660",fontsize=16,color="magenta"];3716 -> 3732[label="",style="dashed", color="magenta", weight=3]; 3716 -> 3733[label="",style="dashed", color="magenta", weight=3]; 3717[label="Succ vx1650",fontsize=16,color="green",shape="box"];3718[label="Zero",fontsize=16,color="green",shape="box"];3719[label="Zero",fontsize=16,color="green",shape="box"];2532[label="primDivNatS0 (Succ vx12300) (Succ vx124000) (primGEqNatS (Succ vx12300) (Succ vx124000))",fontsize=16,color="black",shape="box"];2532 -> 2548[label="",style="solid", color="black", weight=3]; 2533[label="primDivNatS0 (Succ vx12300) Zero (primGEqNatS (Succ vx12300) Zero)",fontsize=16,color="black",shape="box"];2533 -> 2549[label="",style="solid", color="black", weight=3]; 2534[label="primDivNatS0 Zero (Succ vx124000) (primGEqNatS Zero (Succ vx124000))",fontsize=16,color="black",shape="box"];2534 -> 2550[label="",style="solid", color="black", weight=3]; 2535[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2535 -> 2551[label="",style="solid", color="black", weight=3]; 1278 -> 1277[label="",style="dashed", color="red", weight=0]; 1278[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1279 -> 1277[label="",style="dashed", color="red", weight=0]; 1279[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1311 -> 1277[label="",style="dashed", color="red", weight=0]; 1311[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1311 -> 1333[label="",style="dashed", color="magenta", weight=3]; 1312 -> 1277[label="",style="dashed", color="red", weight=0]; 1312[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1312 -> 1334[label="",style="dashed", color="magenta", weight=3]; 1313 -> 1277[label="",style="dashed", color="red", weight=0]; 1313[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1313 -> 1335[label="",style="dashed", color="magenta", weight=3]; 1310[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg vx102) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];4082[label="vx102/Succ vx1020",fontsize=10,color="white",style="solid",shape="box"];1310 -> 4082[label="",style="solid", color="burlywood", weight=9]; 4082 -> 1336[label="",style="solid", color="burlywood", weight=3]; 4083[label="vx102/Zero",fontsize=10,color="white",style="solid",shape="box"];1310 -> 4083[label="",style="solid", color="burlywood", weight=9]; 4083 -> 1337[label="",style="solid", color="burlywood", weight=3]; 1314 -> 1277[label="",style="dashed", color="red", weight=0]; 1314[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1314 -> 1338[label="",style="dashed", color="magenta", weight=3]; 1315 -> 1277[label="",style="dashed", color="red", weight=0]; 1315[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1315 -> 1339[label="",style="dashed", color="magenta", weight=3]; 1316 -> 1277[label="",style="dashed", color="red", weight=0]; 1316[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1316 -> 1340[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1277[label="",style="dashed", color="red", weight=0]; 1280[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1280 -> 1304[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1281 -> 1277[label="",style="dashed", color="red", weight=0]; 1281[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1281 -> 1306[label="",style="dashed", color="magenta", weight=3]; 1281 -> 1307[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1277[label="",style="dashed", color="red", weight=0]; 1282[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1282 -> 1308[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1309[label="",style="dashed", color="magenta", weight=3]; 1394 -> 3014[label="",style="dashed", color="red", weight=0]; 1394[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1394 -> 3019[label="",style="dashed", color="magenta", weight=3]; 1394 -> 3020[label="",style="dashed", color="magenta", weight=3]; 1395 -> 1991[label="",style="dashed", color="red", weight=0]; 1395[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1395 -> 1992[label="",style="dashed", color="magenta", weight=3]; 1395 -> 1993[label="",style="dashed", color="magenta", weight=3]; 1396 -> 1991[label="",style="dashed", color="red", weight=0]; 1396[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1396 -> 1994[label="",style="dashed", color="magenta", weight=3]; 1396 -> 1995[label="",style="dashed", color="magenta", weight=3]; 1397 -> 3014[label="",style="dashed", color="red", weight=0]; 1397[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1397 -> 3021[label="",style="dashed", color="magenta", weight=3]; 1397 -> 3022[label="",style="dashed", color="magenta", weight=3]; 3425[label="gcd2 (esEsMyInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3425 -> 3474[label="",style="solid", color="black", weight=3]; 3426[label="Pos (primDivNatS vx97 (Succ vx15000))",fontsize=16,color="green",shape="box"];3426 -> 3475[label="",style="dashed", color="green", weight=3]; 3427 -> 2462[label="",style="dashed", color="red", weight=0]; 3427[label="error",fontsize=16,color="magenta"];3428[label="Neg (primDivNatS vx97 (Succ vx15000))",fontsize=16,color="green",shape="box"];3428 -> 3476[label="",style="dashed", color="green", weight=3]; 3429 -> 2462[label="",style="dashed", color="red", weight=0]; 3429[label="error",fontsize=16,color="magenta"];3732[label="vx1660",fontsize=16,color="green",shape="box"];3733[label="vx1650",fontsize=16,color="green",shape="box"];2548 -> 3546[label="",style="dashed", color="red", weight=0]; 2548[label="primDivNatS0 (Succ vx12300) (Succ vx124000) (primGEqNatS vx12300 vx124000)",fontsize=16,color="magenta"];2548 -> 3551[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3552[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3553[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3554[label="",style="dashed", color="magenta", weight=3]; 2549[label="primDivNatS0 (Succ vx12300) Zero MyTrue",fontsize=16,color="black",shape="box"];2549 -> 2561[label="",style="solid", color="black", weight=3]; 2550[label="primDivNatS0 Zero (Succ vx124000) MyFalse",fontsize=16,color="black",shape="box"];2550 -> 2562[label="",style="solid", color="black", weight=3]; 2551[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];2551 -> 2563[label="",style="solid", color="black", weight=3]; 1333[label="vx7210",fontsize=16,color="green",shape="box"];1334[label="vx7210",fontsize=16,color="green",shape="box"];1335[label="vx7210",fontsize=16,color="green",shape="box"];1336[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg (Succ vx1020)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1336 -> 1349[label="",style="solid", color="black", weight=3]; 1337[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1337 -> 1350[label="",style="solid", color="black", weight=3]; 1338[label="vx7310",fontsize=16,color="green",shape="box"];1339[label="vx7310",fontsize=16,color="green",shape="box"];1340[label="vx7310",fontsize=16,color="green",shape="box"];1304[label="vx7310",fontsize=16,color="green",shape="box"];1305[label="vx7210",fontsize=16,color="green",shape="box"];1306[label="vx7310",fontsize=16,color="green",shape="box"];1307[label="vx7210",fontsize=16,color="green",shape="box"];1308[label="vx7310",fontsize=16,color="green",shape="box"];1309[label="vx7210",fontsize=16,color="green",shape="box"];3019 -> 1277[label="",style="dashed", color="red", weight=0]; 3019[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3019 -> 3403[label="",style="dashed", color="magenta", weight=3]; 3019 -> 3404[label="",style="dashed", color="magenta", weight=3]; 3020 -> 3405[label="",style="dashed", color="red", weight=0]; 3020[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3020 -> 3406[label="",style="dashed", color="magenta", weight=3]; 1992 -> 1277[label="",style="dashed", color="red", weight=0]; 1992[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];1992 -> 2422[label="",style="dashed", color="magenta", weight=3]; 1992 -> 2423[label="",style="dashed", color="magenta", weight=3]; 1993 -> 2424[label="",style="dashed", color="red", weight=0]; 1993[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];1993 -> 2425[label="",style="dashed", color="magenta", weight=3]; 1991[label="primQuotInt (Neg vx123) vx124",fontsize=16,color="burlywood",shape="triangle"];4084[label="vx124/Pos vx1240",fontsize=10,color="white",style="solid",shape="box"];1991 -> 4084[label="",style="solid", color="burlywood", weight=9]; 4084 -> 2427[label="",style="solid", color="burlywood", weight=3]; 4085[label="vx124/Neg vx1240",fontsize=10,color="white",style="solid",shape="box"];1991 -> 4085[label="",style="solid", color="burlywood", weight=9]; 4085 -> 2428[label="",style="solid", color="burlywood", weight=3]; 1994 -> 1277[label="",style="dashed", color="red", weight=0]; 1994[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];1994 -> 2429[label="",style="dashed", color="magenta", weight=3]; 1994 -> 2430[label="",style="dashed", color="magenta", weight=3]; 1995 -> 2424[label="",style="dashed", color="red", weight=0]; 1995[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];1995 -> 2426[label="",style="dashed", color="magenta", weight=3]; 3021 -> 1277[label="",style="dashed", color="red", weight=0]; 3021[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3021 -> 3413[label="",style="dashed", color="magenta", weight=3]; 3021 -> 3414[label="",style="dashed", color="magenta", weight=3]; 3022 -> 3405[label="",style="dashed", color="red", weight=0]; 3022[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3022 -> 3407[label="",style="dashed", color="magenta", weight=3]; 3474[label="gcd2 (primEqInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3474 -> 3494[label="",style="solid", color="black", weight=3]; 3475 -> 2476[label="",style="dashed", color="red", weight=0]; 3475[label="primDivNatS vx97 (Succ vx15000)",fontsize=16,color="magenta"];3475 -> 3495[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3496[label="",style="dashed", color="magenta", weight=3]; 2462[label="error",fontsize=16,color="black",shape="triangle"];2462 -> 2477[label="",style="solid", color="black", weight=3]; 3476 -> 2476[label="",style="dashed", color="red", weight=0]; 3476[label="primDivNatS vx97 (Succ vx15000)",fontsize=16,color="magenta"];3476 -> 3497[label="",style="dashed", color="magenta", weight=3]; 3476 -> 3498[label="",style="dashed", color="magenta", weight=3]; 3551[label="vx124000",fontsize=16,color="green",shape="box"];3552[label="vx124000",fontsize=16,color="green",shape="box"];3553[label="vx12300",fontsize=16,color="green",shape="box"];3554[label="vx12300",fontsize=16,color="green",shape="box"];2561[label="Succ (primDivNatS (primMinusNatS (Succ vx12300) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2561 -> 2589[label="",style="dashed", color="green", weight=3]; 2562[label="Zero",fontsize=16,color="green",shape="box"];2563[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2563 -> 2590[label="",style="dashed", color="green", weight=3]; 1349[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg (Succ vx1020)) (Pos Zero))",fontsize=16,color="black",shape="box"];1349 -> 1359[label="",style="solid", color="black", weight=3]; 1350[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];1350 -> 1360[label="",style="solid", color="black", weight=3]; 3403[label="vx7300",fontsize=16,color="green",shape="box"];3404[label="vx7200",fontsize=16,color="green",shape="box"];3406 -> 1277[label="",style="dashed", color="red", weight=0]; 3406[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3406 -> 3415[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3416[label="",style="dashed", color="magenta", weight=3]; 3405[label="reduce2D (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="triangle"];3405 -> 3417[label="",style="solid", color="black", weight=3]; 2422[label="vx7300",fontsize=16,color="green",shape="box"];2423[label="vx7200",fontsize=16,color="green",shape="box"];2425 -> 1277[label="",style="dashed", color="red", weight=0]; 2425[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2425 -> 2431[label="",style="dashed", color="magenta", weight=3]; 2425 -> 2432[label="",style="dashed", color="magenta", weight=3]; 2424[label="reduce2D (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="triangle"];2424 -> 2433[label="",style="solid", color="black", weight=3]; 2427[label="primQuotInt (Neg vx123) (Pos vx1240)",fontsize=16,color="burlywood",shape="box"];4086[label="vx1240/Succ vx12400",fontsize=10,color="white",style="solid",shape="box"];2427 -> 4086[label="",style="solid", color="burlywood", weight=9]; 4086 -> 2442[label="",style="solid", color="burlywood", weight=3]; 4087[label="vx1240/Zero",fontsize=10,color="white",style="solid",shape="box"];2427 -> 4087[label="",style="solid", color="burlywood", weight=9]; 4087 -> 2443[label="",style="solid", color="burlywood", weight=3]; 2428[label="primQuotInt (Neg vx123) (Neg vx1240)",fontsize=16,color="burlywood",shape="box"];4088[label="vx1240/Succ vx12400",fontsize=10,color="white",style="solid",shape="box"];2428 -> 4088[label="",style="solid", color="burlywood", weight=9]; 4088 -> 2444[label="",style="solid", color="burlywood", weight=3]; 4089[label="vx1240/Zero",fontsize=10,color="white",style="solid",shape="box"];2428 -> 4089[label="",style="solid", color="burlywood", weight=9]; 4089 -> 2445[label="",style="solid", color="burlywood", weight=3]; 2429[label="vx7300",fontsize=16,color="green",shape="box"];2430[label="vx7200",fontsize=16,color="green",shape="box"];2426 -> 1277[label="",style="dashed", color="red", weight=0]; 2426[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2426 -> 2434[label="",style="dashed", color="magenta", weight=3]; 2426 -> 2435[label="",style="dashed", color="magenta", weight=3]; 3413[label="vx7300",fontsize=16,color="green",shape="box"];3414[label="vx7200",fontsize=16,color="green",shape="box"];3407 -> 1277[label="",style="dashed", color="red", weight=0]; 3407[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3407 -> 3418[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3419[label="",style="dashed", color="magenta", weight=3]; 3494[label="gcd2 (primEqInt (primMulInt vx730 vx720) (fromIntMyInt (Pos Zero))) (primMulInt vx730 vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4090[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];3494 -> 4090[label="",style="solid", color="burlywood", weight=9]; 4090 -> 3510[label="",style="solid", color="burlywood", weight=3]; 4091[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];3494 -> 4091[label="",style="solid", color="burlywood", weight=9]; 4091 -> 3511[label="",style="solid", color="burlywood", weight=3]; 3495[label="vx15000",fontsize=16,color="green",shape="box"];3496[label="vx97",fontsize=16,color="green",shape="box"];2477[label="stop MyTrue",fontsize=16,color="black",shape="box"];2477 -> 2490[label="",style="solid", color="black", weight=3]; 3497[label="vx15000",fontsize=16,color="green",shape="box"];3498[label="vx97",fontsize=16,color="green",shape="box"];2589 -> 2476[label="",style="dashed", color="red", weight=0]; 2589[label="primDivNatS (primMinusNatS (Succ vx12300) Zero) (Succ Zero)",fontsize=16,color="magenta"];2589 -> 2610[label="",style="dashed", color="magenta", weight=3]; 2589 -> 2611[label="",style="dashed", color="magenta", weight=3]; 2590 -> 2476[label="",style="dashed", color="red", weight=0]; 2590[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2590 -> 2612[label="",style="dashed", color="magenta", weight=3]; 2590 -> 2613[label="",style="dashed", color="magenta", weight=3]; 1359[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyFalse",fontsize=16,color="black",shape="box"];1359 -> 1364[label="",style="solid", color="black", weight=3]; 1360[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyTrue",fontsize=16,color="black",shape="box"];1360 -> 1365[label="",style="solid", color="black", weight=3]; 3415[label="vx7300",fontsize=16,color="green",shape="box"];3416[label="vx7200",fontsize=16,color="green",shape="box"];3417[label="gcd (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3417 -> 3430[label="",style="solid", color="black", weight=3]; 2431[label="vx7300",fontsize=16,color="green",shape="box"];2432[label="vx7200",fontsize=16,color="green",shape="box"];2433[label="gcd (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2433 -> 2446[label="",style="solid", color="black", weight=3]; 2442[label="primQuotInt (Neg vx123) (Pos (Succ vx12400))",fontsize=16,color="black",shape="box"];2442 -> 2461[label="",style="solid", color="black", weight=3]; 2443[label="primQuotInt (Neg vx123) (Pos Zero)",fontsize=16,color="black",shape="box"];2443 -> 2462[label="",style="solid", color="black", weight=3]; 2444[label="primQuotInt (Neg vx123) (Neg (Succ vx12400))",fontsize=16,color="black",shape="box"];2444 -> 2463[label="",style="solid", color="black", weight=3]; 2445[label="primQuotInt (Neg vx123) (Neg Zero)",fontsize=16,color="black",shape="box"];2445 -> 2464[label="",style="solid", color="black", weight=3]; 2434[label="vx7300",fontsize=16,color="green",shape="box"];2435[label="vx7200",fontsize=16,color="green",shape="box"];3418[label="vx7300",fontsize=16,color="green",shape="box"];3419[label="vx7200",fontsize=16,color="green",shape="box"];3510[label="gcd2 (primEqInt (primMulInt (Pos vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4092[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];3510 -> 4092[label="",style="solid", color="burlywood", weight=9]; 4092 -> 3520[label="",style="solid", color="burlywood", weight=3]; 4093[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];3510 -> 4093[label="",style="solid", color="burlywood", weight=9]; 4093 -> 3521[label="",style="solid", color="burlywood", weight=3]; 3511[label="gcd2 (primEqInt (primMulInt (Neg vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4094[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];3511 -> 4094[label="",style="solid", color="burlywood", weight=9]; 4094 -> 3522[label="",style="solid", color="burlywood", weight=3]; 4095[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];3511 -> 4095[label="",style="solid", color="burlywood", weight=9]; 4095 -> 3523[label="",style="solid", color="burlywood", weight=3]; 2490[label="error []",fontsize=16,color="red",shape="box"];2610[label="Zero",fontsize=16,color="green",shape="box"];2611[label="primMinusNatS (Succ vx12300) Zero",fontsize=16,color="black",shape="triangle"];2611 -> 2631[label="",style="solid", color="black", weight=3]; 2612[label="Zero",fontsize=16,color="green",shape="box"];2613[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];2613 -> 2632[label="",style="solid", color="black", weight=3]; 1364[label="reduce2Reduce0 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) otherwise",fontsize=16,color="black",shape="box"];1364 -> 1369[label="",style="solid", color="black", weight=3]; 1365 -> 46[label="",style="dashed", color="red", weight=0]; 1365[label="error",fontsize=16,color="magenta"];3430[label="gcd3 (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3430 -> 3477[label="",style="solid", color="black", weight=3]; 2446[label="gcd3 (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2446 -> 2465[label="",style="solid", color="black", weight=3]; 2461[label="Neg (primDivNatS vx123 (Succ vx12400))",fontsize=16,color="green",shape="box"];2461 -> 2476[label="",style="dashed", color="green", weight=3]; 2463[label="Pos (primDivNatS vx123 (Succ vx12400))",fontsize=16,color="green",shape="box"];2463 -> 2478[label="",style="dashed", color="green", weight=3]; 2464 -> 2462[label="",style="dashed", color="red", weight=0]; 2464[label="error",fontsize=16,color="magenta"];3520[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Pos vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3520 -> 3534[label="",style="solid", color="black", weight=3]; 3521[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Neg vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3521 -> 3535[label="",style="solid", color="black", weight=3]; 3522[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Pos vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3522 -> 3536[label="",style="solid", color="black", weight=3]; 3523[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Neg vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3523 -> 3537[label="",style="solid", color="black", weight=3]; 2631[label="Succ vx12300",fontsize=16,color="green",shape="box"];2632[label="Zero",fontsize=16,color="green",shape="box"];1369[label="reduce2Reduce0 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyTrue",fontsize=16,color="black",shape="box"];1369 -> 1372[label="",style="solid", color="black", weight=3]; 3477[label="gcd2 (esEsMyInt (Pos vx151) (fromIntMyInt (Pos Zero))) (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3477 -> 3499[label="",style="solid", color="black", weight=3]; 2465[label="gcd2 (esEsMyInt (Neg vx125) (fromIntMyInt (Pos Zero))) (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2465 -> 2479[label="",style="solid", color="black", weight=3]; 2478 -> 2476[label="",style="dashed", color="red", weight=0]; 2478[label="primDivNatS vx123 (Succ vx12400)",fontsize=16,color="magenta"];2478 -> 2491[label="",style="dashed", color="magenta", weight=3]; 3534 -> 3499[label="",style="dashed", color="red", weight=0]; 3534[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3534 -> 3593[label="",style="dashed", color="magenta", weight=3]; 3535 -> 2479[label="",style="dashed", color="red", weight=0]; 3535[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3535 -> 3594[label="",style="dashed", color="magenta", weight=3]; 3536 -> 2479[label="",style="dashed", color="red", weight=0]; 3536[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3536 -> 3595[label="",style="dashed", color="magenta", weight=3]; 3537 -> 3499[label="",style="dashed", color="red", weight=0]; 3537[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3537 -> 3596[label="",style="dashed", color="magenta", weight=3]; 1372[label="CnPc (quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))) (quotMyInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101)))",fontsize=16,color="green",shape="box"];1372 -> 1375[label="",style="dashed", color="green", weight=3]; 1372 -> 1376[label="",style="dashed", color="green", weight=3]; 3499[label="gcd2 (primEqInt (Pos vx151) (fromIntMyInt (Pos Zero))) (Pos vx151) (Pos vx98)",fontsize=16,color="burlywood",shape="triangle"];4096[label="vx151/Succ vx1510",fontsize=10,color="white",style="solid",shape="box"];3499 -> 4096[label="",style="solid", color="burlywood", weight=9]; 4096 -> 3512[label="",style="solid", color="burlywood", weight=3]; 4097[label="vx151/Zero",fontsize=10,color="white",style="solid",shape="box"];3499 -> 4097[label="",style="solid", color="burlywood", weight=9]; 4097 -> 3513[label="",style="solid", color="burlywood", weight=3]; 2479[label="gcd2 (primEqInt (Neg vx125) (fromIntMyInt (Pos Zero))) (Neg vx125) (Pos vx98)",fontsize=16,color="burlywood",shape="triangle"];4098[label="vx125/Succ vx1250",fontsize=10,color="white",style="solid",shape="box"];2479 -> 4098[label="",style="solid", color="burlywood", weight=9]; 4098 -> 2492[label="",style="solid", color="burlywood", weight=3]; 4099[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];2479 -> 4099[label="",style="solid", color="burlywood", weight=9]; 4099 -> 2493[label="",style="solid", color="burlywood", weight=3]; 2491[label="vx12400",fontsize=16,color="green",shape="box"];3593 -> 1277[label="",style="dashed", color="red", weight=0]; 3593[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3612[label="",style="dashed", color="magenta", weight=3]; 3594 -> 1277[label="",style="dashed", color="red", weight=0]; 3594[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3594 -> 3613[label="",style="dashed", color="magenta", weight=3]; 3594 -> 3614[label="",style="dashed", color="magenta", weight=3]; 3595 -> 1277[label="",style="dashed", color="red", weight=0]; 3595[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3595 -> 3615[label="",style="dashed", color="magenta", weight=3]; 3595 -> 3616[label="",style="dashed", color="magenta", weight=3]; 3596 -> 1277[label="",style="dashed", color="red", weight=0]; 3596[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3596 -> 3617[label="",style="dashed", color="magenta", weight=3]; 3596 -> 3618[label="",style="dashed", color="magenta", weight=3]; 1375[label="quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1375 -> 1379[label="",style="solid", color="black", weight=3]; 1376[label="quotMyInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1376 -> 1380[label="",style="solid", color="black", weight=3]; 3512[label="gcd2 (primEqInt (Pos (Succ vx1510)) (fromIntMyInt (Pos Zero))) (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3512 -> 3524[label="",style="solid", color="black", weight=3]; 3513[label="gcd2 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3513 -> 3525[label="",style="solid", color="black", weight=3]; 2492[label="gcd2 (primEqInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2492 -> 2504[label="",style="solid", color="black", weight=3]; 2493[label="gcd2 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2493 -> 2505[label="",style="solid", color="black", weight=3]; 3611[label="vx7300",fontsize=16,color="green",shape="box"];3612[label="vx7200",fontsize=16,color="green",shape="box"];3613[label="vx7300",fontsize=16,color="green",shape="box"];3614[label="vx7200",fontsize=16,color="green",shape="box"];3615[label="vx7300",fontsize=16,color="green",shape="box"];3616[label="vx7200",fontsize=16,color="green",shape="box"];3617[label="vx7300",fontsize=16,color="green",shape="box"];3618[label="vx7200",fontsize=16,color="green",shape="box"];1379[label="primQuotInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1379 -> 1384[label="",style="solid", color="black", weight=3]; 1380 -> 1991[label="",style="dashed", color="red", weight=0]; 1380[label="primQuotInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="magenta"];1380 -> 2010[label="",style="dashed", color="magenta", weight=3]; 1380 -> 2011[label="",style="dashed", color="magenta", weight=3]; 3524[label="gcd2 (primEqInt (Pos (Succ vx1510)) (Pos Zero)) (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3524 -> 3538[label="",style="solid", color="black", weight=3]; 3525[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3525 -> 3539[label="",style="solid", color="black", weight=3]; 2504[label="gcd2 (primEqInt (Neg (Succ vx1250)) (Pos Zero)) (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2504 -> 2519[label="",style="solid", color="black", weight=3]; 2505[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2505 -> 2520[label="",style="solid", color="black", weight=3]; 1384[label="primQuotInt (primMulInt vx730 vx720) (reduce2D (primMulInt vx730 vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4100[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];1384 -> 4100[label="",style="solid", color="burlywood", weight=9]; 4100 -> 1391[label="",style="solid", color="burlywood", weight=3]; 4101[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];1384 -> 4101[label="",style="solid", color="burlywood", weight=9]; 4101 -> 1392[label="",style="solid", color="burlywood", weight=3]; 2010[label="vx100",fontsize=16,color="green",shape="box"];2011[label="reduce2D (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2011 -> 2436[label="",style="solid", color="black", weight=3]; 3538[label="gcd2 MyFalse (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3538 -> 3597[label="",style="solid", color="black", weight=3]; 3539[label="gcd2 MyTrue (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3539 -> 3598[label="",style="solid", color="black", weight=3]; 2519[label="gcd2 MyFalse (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2519 -> 2536[label="",style="solid", color="black", weight=3]; 2520[label="gcd2 MyTrue (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2520 -> 2537[label="",style="solid", color="black", weight=3]; 1391[label="primQuotInt (primMulInt (Pos vx7300) vx720) (reduce2D (primMulInt (Pos vx7300) vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4102[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1391 -> 4102[label="",style="solid", color="burlywood", weight=9]; 4102 -> 1399[label="",style="solid", color="burlywood", weight=3]; 4103[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1391 -> 4103[label="",style="solid", color="burlywood", weight=9]; 4103 -> 1400[label="",style="solid", color="burlywood", weight=3]; 1392[label="primQuotInt (primMulInt (Neg vx7300) vx720) (reduce2D (primMulInt (Neg vx7300) vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4104[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1392 -> 4104[label="",style="solid", color="burlywood", weight=9]; 4104 -> 1401[label="",style="solid", color="burlywood", weight=3]; 4105[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1392 -> 4105[label="",style="solid", color="burlywood", weight=9]; 4105 -> 1402[label="",style="solid", color="burlywood", weight=3]; 2436[label="gcd (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2436 -> 2447[label="",style="solid", color="black", weight=3]; 3597[label="gcd0 (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3597 -> 3619[label="",style="solid", color="black", weight=3]; 3598[label="gcd1 (esEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3598 -> 3620[label="",style="solid", color="black", weight=3]; 2536[label="gcd0 (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2536 -> 2552[label="",style="solid", color="black", weight=3]; 2537[label="gcd1 (esEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2537 -> 2553[label="",style="solid", color="black", weight=3]; 1399[label="primQuotInt (primMulInt (Pos vx7300) (Pos vx7200)) (reduce2D (primMulInt (Pos vx7300) (Pos vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1399 -> 1433[label="",style="solid", color="black", weight=3]; 1400[label="primQuotInt (primMulInt (Pos vx7300) (Neg vx7200)) (reduce2D (primMulInt (Pos vx7300) (Neg vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1400 -> 1434[label="",style="solid", color="black", weight=3]; 1401[label="primQuotInt (primMulInt (Neg vx7300) (Pos vx7200)) (reduce2D (primMulInt (Neg vx7300) (Pos vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1401 -> 1435[label="",style="solid", color="black", weight=3]; 1402[label="primQuotInt (primMulInt (Neg vx7300) (Neg vx7200)) (reduce2D (primMulInt (Neg vx7300) (Neg vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1402 -> 1436[label="",style="solid", color="black", weight=3]; 2447[label="gcd3 (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2447 -> 2466[label="",style="solid", color="black", weight=3]; 3619 -> 3633[label="",style="dashed", color="red", weight=0]; 3619[label="gcd0Gcd' (absMyInt (Pos (Succ vx1510))) (absMyInt (Pos vx98))",fontsize=16,color="magenta"];3619 -> 3634[label="",style="dashed", color="magenta", weight=3]; 3619 -> 3635[label="",style="dashed", color="magenta", weight=3]; 3620[label="gcd1 (primEqInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4106[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];3620 -> 4106[label="",style="solid", color="burlywood", weight=9]; 4106 -> 3652[label="",style="solid", color="burlywood", weight=3]; 4107[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];3620 -> 4107[label="",style="solid", color="burlywood", weight=9]; 4107 -> 3653[label="",style="solid", color="burlywood", weight=3]; 2552 -> 3633[label="",style="dashed", color="red", weight=0]; 2552[label="gcd0Gcd' (absMyInt (Neg (Succ vx1250))) (absMyInt (Pos vx98))",fontsize=16,color="magenta"];2552 -> 3636[label="",style="dashed", color="magenta", weight=3]; 2552 -> 3637[label="",style="dashed", color="magenta", weight=3]; 2553[label="gcd1 (primEqInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4108[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];2553 -> 4108[label="",style="solid", color="burlywood", weight=9]; 4108 -> 2565[label="",style="solid", color="burlywood", weight=3]; 4109[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];2553 -> 4109[label="",style="solid", color="burlywood", weight=9]; 4109 -> 2566[label="",style="solid", color="burlywood", weight=3]; 1433 -> 3014[label="",style="dashed", color="red", weight=0]; 1433[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1433 -> 3059[label="",style="dashed", color="magenta", weight=3]; 1433 -> 3060[label="",style="dashed", color="magenta", weight=3]; 1434 -> 1991[label="",style="dashed", color="red", weight=0]; 1434[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1434 -> 2032[label="",style="dashed", color="magenta", weight=3]; 1434 -> 2033[label="",style="dashed", color="magenta", weight=3]; 1435 -> 1991[label="",style="dashed", color="red", weight=0]; 1435[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1435 -> 2034[label="",style="dashed", color="magenta", weight=3]; 1435 -> 2035[label="",style="dashed", color="magenta", weight=3]; 1436 -> 3014[label="",style="dashed", color="red", weight=0]; 1436[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1436 -> 3061[label="",style="dashed", color="magenta", weight=3]; 1436 -> 3062[label="",style="dashed", color="magenta", weight=3]; 2466[label="gcd2 (esEsMyInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2466 -> 2480[label="",style="solid", color="black", weight=3]; 3634[label="absMyInt (Pos vx98)",fontsize=16,color="black",shape="triangle"];3634 -> 3654[label="",style="solid", color="black", weight=3]; 3635 -> 3634[label="",style="dashed", color="red", weight=0]; 3635[label="absMyInt (Pos (Succ vx1510))",fontsize=16,color="magenta"];3635 -> 3655[label="",style="dashed", color="magenta", weight=3]; 3633[label="gcd0Gcd' vx171 vx170",fontsize=16,color="black",shape="triangle"];3633 -> 3656[label="",style="solid", color="black", weight=3]; 3652[label="gcd1 (primEqInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3652 -> 3666[label="",style="solid", color="black", weight=3]; 3653[label="gcd1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3653 -> 3667[label="",style="solid", color="black", weight=3]; 3636 -> 3634[label="",style="dashed", color="red", weight=0]; 3636[label="absMyInt (Pos vx98)",fontsize=16,color="magenta"];3637[label="absMyInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 2565[label="gcd1 (primEqInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 2566[label="gcd1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 3059 -> 1277[label="",style="dashed", color="red", weight=0]; 3059[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3059 -> 3420[label="",style="dashed", color="magenta", weight=3]; 3059 -> 3421[label="",style="dashed", color="magenta", weight=3]; 3060 -> 3422[label="",style="dashed", color="red", weight=0]; 3060[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];3060 -> 3423[label="",style="dashed", color="magenta", weight=3]; 2032 -> 1277[label="",style="dashed", color="red", weight=0]; 2032[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2032 -> 2437[label="",style="dashed", color="magenta", weight=3]; 2032 -> 2438[label="",style="dashed", color="magenta", weight=3]; 2033 -> 2439[label="",style="dashed", color="red", weight=0]; 2033[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2033 -> 2440[label="",style="dashed", color="magenta", weight=3]; 2034 -> 1277[label="",style="dashed", color="red", weight=0]; 2034[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2034 -> 2448[label="",style="dashed", color="magenta", weight=3]; 2034 -> 2449[label="",style="dashed", color="magenta", weight=3]; 2035 -> 2439[label="",style="dashed", color="red", weight=0]; 2035[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2035 -> 2441[label="",style="dashed", color="magenta", weight=3]; 3061 -> 1277[label="",style="dashed", color="red", weight=0]; 3061[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3061 -> 3431[label="",style="dashed", color="magenta", weight=3]; 3061 -> 3432[label="",style="dashed", color="magenta", weight=3]; 3062 -> 3422[label="",style="dashed", color="red", weight=0]; 3062[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];3062 -> 3424[label="",style="dashed", color="magenta", weight=3]; 2480[label="gcd2 (primEqInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2480 -> 2494[label="",style="solid", color="black", weight=3]; 3654[label="absReal (Pos vx98)",fontsize=16,color="black",shape="box"];3654 -> 3668[label="",style="solid", color="black", weight=3]; 3655[label="Succ vx1510",fontsize=16,color="green",shape="box"];3656[label="gcd0Gcd'2 vx171 vx170",fontsize=16,color="black",shape="box"];3656 -> 3669[label="",style="solid", color="black", weight=3]; 3666[label="gcd1 (primEqInt (Pos (Succ vx980)) (Pos Zero)) (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3666 -> 3675[label="",style="solid", color="black", weight=3]; 3667[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3667 -> 3676[label="",style="solid", color="black", weight=3]; 3657[label="absReal (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3657 -> 3670[label="",style="solid", color="black", weight=3]; 2592[label="gcd1 (primEqInt (Pos (Succ vx980)) (Pos Zero)) (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2592 -> 2615[label="",style="solid", color="black", weight=3]; 2593[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2593 -> 2616[label="",style="solid", color="black", weight=3]; 3420[label="vx7300",fontsize=16,color="green",shape="box"];3421[label="vx7200",fontsize=16,color="green",shape="box"];3423 -> 1277[label="",style="dashed", color="red", weight=0]; 3423[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3423 -> 3433[label="",style="dashed", color="magenta", weight=3]; 3423 -> 3434[label="",style="dashed", color="magenta", weight=3]; 3422[label="reduce2D (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="triangle"];3422 -> 3435[label="",style="solid", color="black", weight=3]; 2437[label="vx7300",fontsize=16,color="green",shape="box"];2438[label="vx7200",fontsize=16,color="green",shape="box"];2440 -> 1277[label="",style="dashed", color="red", weight=0]; 2440[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2440 -> 2450[label="",style="dashed", color="magenta", weight=3]; 2440 -> 2451[label="",style="dashed", color="magenta", weight=3]; 2439[label="reduce2D (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="triangle"];2439 -> 2452[label="",style="solid", color="black", weight=3]; 2448[label="vx7300",fontsize=16,color="green",shape="box"];2449[label="vx7200",fontsize=16,color="green",shape="box"];2441 -> 1277[label="",style="dashed", color="red", weight=0]; 2441[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2441 -> 2453[label="",style="dashed", color="magenta", weight=3]; 2441 -> 2454[label="",style="dashed", color="magenta", weight=3]; 3431[label="vx7300",fontsize=16,color="green",shape="box"];3432[label="vx7200",fontsize=16,color="green",shape="box"];3424 -> 1277[label="",style="dashed", color="red", weight=0]; 3424[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3424 -> 3436[label="",style="dashed", color="magenta", weight=3]; 3424 -> 3437[label="",style="dashed", color="magenta", weight=3]; 2494[label="gcd2 (primEqInt (primMulInt vx730 vx720) (fromIntMyInt (Pos Zero))) (primMulInt vx730 vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4110[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];2494 -> 4110[label="",style="solid", color="burlywood", weight=9]; 4110 -> 2506[label="",style="solid", color="burlywood", weight=3]; 4111[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];2494 -> 4111[label="",style="solid", color="burlywood", weight=9]; 4111 -> 2507[label="",style="solid", color="burlywood", weight=3]; 3668[label="absReal2 (Pos vx98)",fontsize=16,color="black",shape="box"];3668 -> 3677[label="",style="solid", color="black", weight=3]; 3669[label="gcd0Gcd'1 (esEsMyInt vx170 (fromIntMyInt (Pos Zero))) vx171 vx170",fontsize=16,color="black",shape="box"];3669 -> 3678[label="",style="solid", color="black", weight=3]; 3675[label="gcd1 MyFalse (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3675 -> 3683[label="",style="solid", color="black", weight=3]; 3676[label="gcd1 MyTrue (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3676 -> 3684[label="",style="solid", color="black", weight=3]; 3670[label="absReal2 (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3670 -> 3679[label="",style="solid", color="black", weight=3]; 2615[label="gcd1 MyFalse (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2615 -> 2634[label="",style="solid", color="black", weight=3]; 2616[label="gcd1 MyTrue (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2616 -> 2635[label="",style="solid", color="black", weight=3]; 3433[label="vx7300",fontsize=16,color="green",shape="box"];3434[label="vx7200",fontsize=16,color="green",shape="box"];3435[label="gcd (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3435 -> 3478[label="",style="solid", color="black", weight=3]; 2450[label="vx7300",fontsize=16,color="green",shape="box"];2451[label="vx7200",fontsize=16,color="green",shape="box"];2452[label="gcd (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2452 -> 2467[label="",style="solid", color="black", weight=3]; 2453[label="vx7300",fontsize=16,color="green",shape="box"];2454[label="vx7200",fontsize=16,color="green",shape="box"];3436[label="vx7300",fontsize=16,color="green",shape="box"];3437[label="vx7200",fontsize=16,color="green",shape="box"];2506[label="gcd2 (primEqInt (primMulInt (Pos vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4112[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];2506 -> 4112[label="",style="solid", color="burlywood", weight=9]; 4112 -> 2521[label="",style="solid", color="burlywood", weight=3]; 4113[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];2506 -> 4113[label="",style="solid", color="burlywood", weight=9]; 4113 -> 2522[label="",style="solid", color="burlywood", weight=3]; 2507[label="gcd2 (primEqInt (primMulInt (Neg vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4114[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];2507 -> 4114[label="",style="solid", color="burlywood", weight=9]; 4114 -> 2523[label="",style="solid", color="burlywood", weight=3]; 4115[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];2507 -> 4115[label="",style="solid", color="burlywood", weight=9]; 4115 -> 2524[label="",style="solid", color="burlywood", weight=3]; 3677[label="absReal1 (Pos vx98) (gtEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3677 -> 3685[label="",style="solid", color="black", weight=3]; 3678[label="gcd0Gcd'1 (primEqInt vx170 (fromIntMyInt (Pos Zero))) vx171 vx170",fontsize=16,color="burlywood",shape="box"];4116[label="vx170/Pos vx1700",fontsize=10,color="white",style="solid",shape="box"];3678 -> 4116[label="",style="solid", color="burlywood", weight=9]; 4116 -> 3686[label="",style="solid", color="burlywood", weight=3]; 4117[label="vx170/Neg vx1700",fontsize=10,color="white",style="solid",shape="box"];3678 -> 4117[label="",style="solid", color="burlywood", weight=9]; 4117 -> 3687[label="",style="solid", color="burlywood", weight=3]; 3683[label="gcd0 (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3683 -> 3693[label="",style="solid", color="black", weight=3]; 3684 -> 2462[label="",style="dashed", color="red", weight=0]; 3684[label="error",fontsize=16,color="magenta"];3679[label="absReal1 (Neg (Succ vx1250)) (gtEsMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3679 -> 3688[label="",style="solid", color="black", weight=3]; 2634[label="gcd0 (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2634 -> 2651[label="",style="solid", color="black", weight=3]; 2635 -> 2462[label="",style="dashed", color="red", weight=0]; 2635[label="error",fontsize=16,color="magenta"];3478[label="gcd3 (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3478 -> 3500[label="",style="solid", color="black", weight=3]; 2467[label="gcd3 (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2467 -> 2481[label="",style="solid", color="black", weight=3]; 2521[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Pos vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2521 -> 2538[label="",style="solid", color="black", weight=3]; 2522[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Neg vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2522 -> 2539[label="",style="solid", color="black", weight=3]; 2523[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Pos vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2523 -> 2540[label="",style="solid", color="black", weight=3]; 2524[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Neg vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2524 -> 2541[label="",style="solid", color="black", weight=3]; 3685[label="absReal1 (Pos vx98) (fsEsOrdering (compareMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3685 -> 3694[label="",style="solid", color="black", weight=3]; 3686[label="gcd0Gcd'1 (primEqInt (Pos vx1700) (fromIntMyInt (Pos Zero))) vx171 (Pos vx1700)",fontsize=16,color="burlywood",shape="box"];4118[label="vx1700/Succ vx17000",fontsize=10,color="white",style="solid",shape="box"];3686 -> 4118[label="",style="solid", color="burlywood", weight=9]; 4118 -> 3695[label="",style="solid", color="burlywood", weight=3]; 4119[label="vx1700/Zero",fontsize=10,color="white",style="solid",shape="box"];3686 -> 4119[label="",style="solid", color="burlywood", weight=9]; 4119 -> 3696[label="",style="solid", color="burlywood", weight=3]; 3687[label="gcd0Gcd'1 (primEqInt (Neg vx1700) (fromIntMyInt (Pos Zero))) vx171 (Neg vx1700)",fontsize=16,color="burlywood",shape="box"];4120[label="vx1700/Succ vx17000",fontsize=10,color="white",style="solid",shape="box"];3687 -> 4120[label="",style="solid", color="burlywood", weight=9]; 4120 -> 3697[label="",style="solid", color="burlywood", weight=3]; 4121[label="vx1700/Zero",fontsize=10,color="white",style="solid",shape="box"];3687 -> 4121[label="",style="solid", color="burlywood", weight=9]; 4121 -> 3698[label="",style="solid", color="burlywood", weight=3]; 3693 -> 3633[label="",style="dashed", color="red", weight=0]; 3693[label="gcd0Gcd' (absMyInt (Pos Zero)) (absMyInt (Pos (Succ vx980)))",fontsize=16,color="magenta"];3693 -> 3706[label="",style="dashed", color="magenta", weight=3]; 3693 -> 3707[label="",style="dashed", color="magenta", weight=3]; 3688[label="absReal1 (Neg (Succ vx1250)) (fsEsOrdering (compareMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3688 -> 3699[label="",style="solid", color="black", weight=3]; 2651 -> 3633[label="",style="dashed", color="red", weight=0]; 2651[label="gcd0Gcd' (absMyInt (Neg Zero)) (absMyInt (Pos (Succ vx980)))",fontsize=16,color="magenta"];2651 -> 3638[label="",style="dashed", color="magenta", weight=3]; 2651 -> 3639[label="",style="dashed", color="magenta", weight=3]; 3500[label="gcd2 (esEsMyInt (Pos vx152) (fromIntMyInt (Pos Zero))) (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3500 -> 3514[label="",style="solid", color="black", weight=3]; 2481[label="gcd2 (esEsMyInt (Neg vx126) (fromIntMyInt (Pos Zero))) (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2481 -> 2495[label="",style="solid", color="black", weight=3]; 2538 -> 2554[label="",style="dashed", color="red", weight=0]; 2538[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2538 -> 2555[label="",style="dashed", color="magenta", weight=3]; 2538 -> 2556[label="",style="dashed", color="magenta", weight=3]; 2539 -> 2495[label="",style="dashed", color="red", weight=0]; 2539[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2539 -> 2567[label="",style="dashed", color="magenta", weight=3]; 2540 -> 2495[label="",style="dashed", color="red", weight=0]; 2540[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2540 -> 2568[label="",style="dashed", color="magenta", weight=3]; 2541 -> 2554[label="",style="dashed", color="red", weight=0]; 2541[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2541 -> 2557[label="",style="dashed", color="magenta", weight=3]; 2541 -> 2558[label="",style="dashed", color="magenta", weight=3]; 3694[label="absReal1 (Pos vx98) (not (esEsOrdering (compareMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3694 -> 3708[label="",style="solid", color="black", weight=3]; 3695[label="gcd0Gcd'1 (primEqInt (Pos (Succ vx17000)) (fromIntMyInt (Pos Zero))) vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3695 -> 3709[label="",style="solid", color="black", weight=3]; 3696[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3696 -> 3710[label="",style="solid", color="black", weight=3]; 3697[label="gcd0Gcd'1 (primEqInt (Neg (Succ vx17000)) (fromIntMyInt (Pos Zero))) vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3697 -> 3711[label="",style="solid", color="black", weight=3]; 3698[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3698 -> 3712[label="",style="solid", color="black", weight=3]; 3706 -> 3634[label="",style="dashed", color="red", weight=0]; 3706[label="absMyInt (Pos (Succ vx980))",fontsize=16,color="magenta"];3706 -> 3720[label="",style="dashed", color="magenta", weight=3]; 3707 -> 3634[label="",style="dashed", color="red", weight=0]; 3707[label="absMyInt (Pos Zero)",fontsize=16,color="magenta"];3707 -> 3721[label="",style="dashed", color="magenta", weight=3]; 3699[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (compareMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3699 -> 3713[label="",style="solid", color="black", weight=3]; 3638 -> 3634[label="",style="dashed", color="red", weight=0]; 3638[label="absMyInt (Pos (Succ vx980))",fontsize=16,color="magenta"];3638 -> 3658[label="",style="dashed", color="magenta", weight=3]; 3639[label="absMyInt (Neg Zero)",fontsize=16,color="black",shape="box"];3639 -> 3659[label="",style="solid", color="black", weight=3]; 3514 -> 2554[label="",style="dashed", color="red", weight=0]; 3514[label="gcd2 (primEqInt (Pos vx152) (fromIntMyInt (Pos Zero))) (Pos vx152) (Neg vx101)",fontsize=16,color="magenta"];3514 -> 3526[label="",style="dashed", color="magenta", weight=3]; 3514 -> 3527[label="",style="dashed", color="magenta", weight=3]; 2495[label="gcd2 (primEqInt (Neg vx126) (fromIntMyInt (Pos Zero))) (Neg vx126) (Neg vx101)",fontsize=16,color="burlywood",shape="triangle"];4122[label="vx126/Succ vx1260",fontsize=10,color="white",style="solid",shape="box"];2495 -> 4122[label="",style="solid", color="burlywood", weight=9]; 4122 -> 2508[label="",style="solid", color="burlywood", weight=3]; 4123[label="vx126/Zero",fontsize=10,color="white",style="solid",shape="box"];2495 -> 4123[label="",style="solid", color="burlywood", weight=9]; 4123 -> 2509[label="",style="solid", color="burlywood", weight=3]; 2555 -> 1277[label="",style="dashed", color="red", weight=0]; 2555[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2555 -> 2569[label="",style="dashed", color="magenta", weight=3]; 2555 -> 2570[label="",style="dashed", color="magenta", weight=3]; 2556 -> 1277[label="",style="dashed", color="red", weight=0]; 2556[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2556 -> 2571[label="",style="dashed", color="magenta", weight=3]; 2556 -> 2572[label="",style="dashed", color="magenta", weight=3]; 2554[label="gcd2 (primEqInt (Pos vx128) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="burlywood",shape="triangle"];4124[label="vx128/Succ vx1280",fontsize=10,color="white",style="solid",shape="box"];2554 -> 4124[label="",style="solid", color="burlywood", weight=9]; 4124 -> 2573[label="",style="solid", color="burlywood", weight=3]; 4125[label="vx128/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 4125[label="",style="solid", color="burlywood", weight=9]; 4125 -> 2574[label="",style="solid", color="burlywood", weight=3]; 2567 -> 1277[label="",style="dashed", color="red", weight=0]; 2567[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2567 -> 2594[label="",style="dashed", color="magenta", weight=3]; 2567 -> 2595[label="",style="dashed", color="magenta", weight=3]; 2568 -> 1277[label="",style="dashed", color="red", weight=0]; 2568[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2568 -> 2596[label="",style="dashed", color="magenta", weight=3]; 2568 -> 2597[label="",style="dashed", color="magenta", weight=3]; 2557 -> 1277[label="",style="dashed", color="red", weight=0]; 2557[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2557 -> 2575[label="",style="dashed", color="magenta", weight=3]; 2557 -> 2576[label="",style="dashed", color="magenta", weight=3]; 2558 -> 1277[label="",style="dashed", color="red", weight=0]; 2558[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2558 -> 2577[label="",style="dashed", color="magenta", weight=3]; 2558 -> 2578[label="",style="dashed", color="magenta", weight=3]; 3708[label="absReal1 (Pos vx98) (not (esEsOrdering (primCmpInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="burlywood",shape="box"];4126[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];3708 -> 4126[label="",style="solid", color="burlywood", weight=9]; 4126 -> 3722[label="",style="solid", color="burlywood", weight=3]; 4127[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];3708 -> 4127[label="",style="solid", color="burlywood", weight=9]; 4127 -> 3723[label="",style="solid", color="burlywood", weight=3]; 3709[label="gcd0Gcd'1 (primEqInt (Pos (Succ vx17000)) (Pos Zero)) vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3709 -> 3724[label="",style="solid", color="black", weight=3]; 3710[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3710 -> 3725[label="",style="solid", color="black", weight=3]; 3711[label="gcd0Gcd'1 (primEqInt (Neg (Succ vx17000)) (Pos Zero)) vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3711 -> 3726[label="",style="solid", color="black", weight=3]; 3712[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3712 -> 3727[label="",style="solid", color="black", weight=3]; 3720[label="Succ vx980",fontsize=16,color="green",shape="box"];3721[label="Zero",fontsize=16,color="green",shape="box"];3713[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3713 -> 3728[label="",style="solid", color="black", weight=3]; 3658[label="Succ vx980",fontsize=16,color="green",shape="box"];3659[label="absReal (Neg Zero)",fontsize=16,color="black",shape="box"];3659 -> 3671[label="",style="solid", color="black", weight=3]; 3526[label="vx152",fontsize=16,color="green",shape="box"];3527[label="vx152",fontsize=16,color="green",shape="box"];2508[label="gcd2 (primEqInt (Neg (Succ vx1260)) (fromIntMyInt (Pos Zero))) (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2508 -> 2525[label="",style="solid", color="black", weight=3]; 2509[label="gcd2 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2509 -> 2526[label="",style="solid", color="black", weight=3]; 2569[label="vx7300",fontsize=16,color="green",shape="box"];2570[label="vx7200",fontsize=16,color="green",shape="box"];2571[label="vx7300",fontsize=16,color="green",shape="box"];2572[label="vx7200",fontsize=16,color="green",shape="box"];2573[label="gcd2 (primEqInt (Pos (Succ vx1280)) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2573 -> 2598[label="",style="solid", color="black", weight=3]; 2574[label="gcd2 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2574 -> 2599[label="",style="solid", color="black", weight=3]; 2594[label="vx7300",fontsize=16,color="green",shape="box"];2595[label="vx7200",fontsize=16,color="green",shape="box"];2596[label="vx7300",fontsize=16,color="green",shape="box"];2597[label="vx7200",fontsize=16,color="green",shape="box"];2575[label="vx7300",fontsize=16,color="green",shape="box"];2576[label="vx7200",fontsize=16,color="green",shape="box"];2577[label="vx7300",fontsize=16,color="green",shape="box"];2578[label="vx7200",fontsize=16,color="green",shape="box"];3722[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3722 -> 3734[label="",style="solid", color="black", weight=3]; 3723[label="absReal1 (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3723 -> 3735[label="",style="solid", color="black", weight=3]; 3724[label="gcd0Gcd'1 MyFalse vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3724 -> 3736[label="",style="solid", color="black", weight=3]; 3725[label="gcd0Gcd'1 MyTrue vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3725 -> 3737[label="",style="solid", color="black", weight=3]; 3726[label="gcd0Gcd'1 MyFalse vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3726 -> 3738[label="",style="solid", color="black", weight=3]; 3727[label="gcd0Gcd'1 MyTrue vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3727 -> 3739[label="",style="solid", color="black", weight=3]; 3728[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1250)) (Pos Zero)) LT))",fontsize=16,color="black",shape="triangle"];3728 -> 3740[label="",style="solid", color="black", weight=3]; 3671[label="absReal2 (Neg Zero)",fontsize=16,color="black",shape="box"];3671 -> 3680[label="",style="solid", color="black", weight=3]; 2525[label="gcd2 (primEqInt (Neg (Succ vx1260)) (Pos Zero)) (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2525 -> 2542[label="",style="solid", color="black", weight=3]; 2526[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2526 -> 2543[label="",style="solid", color="black", weight=3]; 2598[label="gcd2 (primEqInt (Pos (Succ vx1280)) (Pos Zero)) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2598 -> 2617[label="",style="solid", color="black", weight=3]; 2599[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2599 -> 2618[label="",style="solid", color="black", weight=3]; 3734[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpInt (Pos (Succ vx980)) (Pos Zero)) LT))",fontsize=16,color="black",shape="box"];3734 -> 3744[label="",style="solid", color="black", weight=3]; 3735[label="absReal1 (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT))",fontsize=16,color="black",shape="box"];3735 -> 3745[label="",style="solid", color="black", weight=3]; 3736[label="gcd0Gcd'0 vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3736 -> 3746[label="",style="solid", color="black", weight=3]; 3737[label="vx171",fontsize=16,color="green",shape="box"];3738[label="gcd0Gcd'0 vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3738 -> 3747[label="",style="solid", color="black", weight=3]; 3739[label="vx171",fontsize=16,color="green",shape="box"];3740[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering LT LT))",fontsize=16,color="black",shape="box"];3740 -> 3748[label="",style="solid", color="black", weight=3]; 3680[label="absReal1 (Neg Zero) (gtEsMyInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3680 -> 3689[label="",style="solid", color="black", weight=3]; 2542[label="gcd2 MyFalse (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2542 -> 2579[label="",style="solid", color="black", weight=3]; 2543[label="gcd2 MyTrue (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2543 -> 2580[label="",style="solid", color="black", weight=3]; 2617[label="gcd2 MyFalse (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2617 -> 2636[label="",style="solid", color="black", weight=3]; 2618[label="gcd2 MyTrue (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2618 -> 2637[label="",style="solid", color="black", weight=3]; 3744[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpNat (Succ vx980) Zero) LT))",fontsize=16,color="black",shape="box"];3744 -> 3751[label="",style="solid", color="black", weight=3]; 3745[label="absReal1 (Pos Zero) (not (esEsOrdering EQ LT))",fontsize=16,color="black",shape="box"];3745 -> 3752[label="",style="solid", color="black", weight=3]; 3746 -> 3633[label="",style="dashed", color="red", weight=0]; 3746[label="gcd0Gcd' (Pos (Succ vx17000)) (remMyInt vx171 (Pos (Succ vx17000)))",fontsize=16,color="magenta"];3746 -> 3753[label="",style="dashed", color="magenta", weight=3]; 3746 -> 3754[label="",style="dashed", color="magenta", weight=3]; 3747 -> 3633[label="",style="dashed", color="red", weight=0]; 3747[label="gcd0Gcd' (Neg (Succ vx17000)) (remMyInt vx171 (Neg (Succ vx17000)))",fontsize=16,color="magenta"];3747 -> 3755[label="",style="dashed", color="magenta", weight=3]; 3747 -> 3756[label="",style="dashed", color="magenta", weight=3]; 3748[label="absReal1 (Neg (Succ vx1250)) (not MyTrue)",fontsize=16,color="black",shape="box"];3748 -> 3757[label="",style="solid", color="black", weight=3]; 3689[label="absReal1 (Neg Zero) (fsEsOrdering (compareMyInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3689 -> 3700[label="",style="solid", color="black", weight=3]; 2579[label="gcd0 (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2579 -> 2600[label="",style="solid", color="black", weight=3]; 2580[label="gcd1 (esEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2580 -> 2601[label="",style="solid", color="black", weight=3]; 2636[label="gcd0 (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="triangle"];2636 -> 2652[label="",style="solid", color="black", weight=3]; 2637[label="gcd1 (esEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2637 -> 2653[label="",style="solid", color="black", weight=3]; 3751[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering GT LT))",fontsize=16,color="black",shape="box"];3751 -> 3759[label="",style="solid", color="black", weight=3]; 3752[label="absReal1 (Pos Zero) (not MyFalse)",fontsize=16,color="black",shape="box"];3752 -> 3760[label="",style="solid", color="black", weight=3]; 3753[label="remMyInt vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3753 -> 3761[label="",style="solid", color="black", weight=3]; 3754[label="Pos (Succ vx17000)",fontsize=16,color="green",shape="box"];3755[label="remMyInt vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3755 -> 3762[label="",style="solid", color="black", weight=3]; 3756[label="Neg (Succ vx17000)",fontsize=16,color="green",shape="box"];3757[label="absReal1 (Neg (Succ vx1250)) MyFalse",fontsize=16,color="black",shape="box"];3757 -> 3763[label="",style="solid", color="black", weight=3]; 3700[label="absReal1 (Neg Zero) (not (esEsOrdering (compareMyInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3700 -> 3714[label="",style="solid", color="black", weight=3]; 2600 -> 3633[label="",style="dashed", color="red", weight=0]; 2600[label="gcd0Gcd' (absMyInt (Neg (Succ vx1260))) (absMyInt (Neg vx101))",fontsize=16,color="magenta"];2600 -> 3640[label="",style="dashed", color="magenta", weight=3]; 2600 -> 3641[label="",style="dashed", color="magenta", weight=3]; 2601[label="gcd1 (primEqInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4128[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];2601 -> 4128[label="",style="solid", color="burlywood", weight=9]; 4128 -> 2620[label="",style="solid", color="burlywood", weight=3]; 4129[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];2601 -> 4129[label="",style="solid", color="burlywood", weight=9]; 4129 -> 2621[label="",style="solid", color="burlywood", weight=3]; 2652 -> 3633[label="",style="dashed", color="red", weight=0]; 2652[label="gcd0Gcd' (absMyInt (Pos vx127)) (absMyInt (Neg vx101))",fontsize=16,color="magenta"];2652 -> 3642[label="",style="dashed", color="magenta", weight=3]; 2652 -> 3643[label="",style="dashed", color="magenta", weight=3]; 2653[label="gcd1 (primEqInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4130[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];2653 -> 4130[label="",style="solid", color="burlywood", weight=9]; 4130 -> 2670[label="",style="solid", color="burlywood", weight=3]; 4131[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];2653 -> 4131[label="",style="solid", color="burlywood", weight=9]; 4131 -> 2671[label="",style="solid", color="burlywood", weight=3]; 3759[label="absReal1 (Pos (Succ vx980)) (not MyFalse)",fontsize=16,color="black",shape="box"];3759 -> 3765[label="",style="solid", color="black", weight=3]; 3760[label="absReal1 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];3760 -> 3766[label="",style="solid", color="black", weight=3]; 3761[label="primRemInt vx171 (Pos (Succ vx17000))",fontsize=16,color="burlywood",shape="box"];4132[label="vx171/Pos vx1710",fontsize=10,color="white",style="solid",shape="box"];3761 -> 4132[label="",style="solid", color="burlywood", weight=9]; 4132 -> 3767[label="",style="solid", color="burlywood", weight=3]; 4133[label="vx171/Neg vx1710",fontsize=10,color="white",style="solid",shape="box"];3761 -> 4133[label="",style="solid", color="burlywood", weight=9]; 4133 -> 3768[label="",style="solid", color="burlywood", weight=3]; 3762[label="primRemInt vx171 (Neg (Succ vx17000))",fontsize=16,color="burlywood",shape="box"];4134[label="vx171/Pos vx1710",fontsize=10,color="white",style="solid",shape="box"];3762 -> 4134[label="",style="solid", color="burlywood", weight=9]; 4134 -> 3769[label="",style="solid", color="burlywood", weight=3]; 4135[label="vx171/Neg vx1710",fontsize=10,color="white",style="solid",shape="box"];3762 -> 4135[label="",style="solid", color="burlywood", weight=9]; 4135 -> 3770[label="",style="solid", color="burlywood", weight=3]; 3763[label="absReal0 (Neg (Succ vx1250)) otherwise",fontsize=16,color="black",shape="box"];3763 -> 3771[label="",style="solid", color="black", weight=3]; 3714[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3714 -> 3729[label="",style="solid", color="black", weight=3]; 3640[label="absMyInt (Neg vx101)",fontsize=16,color="black",shape="triangle"];3640 -> 3660[label="",style="solid", color="black", weight=3]; 3641 -> 3640[label="",style="dashed", color="red", weight=0]; 3641[label="absMyInt (Neg (Succ vx1260))",fontsize=16,color="magenta"];3641 -> 3661[label="",style="dashed", color="magenta", weight=3]; 2620[label="gcd1 (primEqInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2620 -> 2639[label="",style="solid", color="black", weight=3]; 2621[label="gcd1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2621 -> 2640[label="",style="solid", color="black", weight=3]; 3642 -> 3640[label="",style="dashed", color="red", weight=0]; 3642[label="absMyInt (Neg vx101)",fontsize=16,color="magenta"];3643 -> 3634[label="",style="dashed", color="red", weight=0]; 3643[label="absMyInt (Pos vx127)",fontsize=16,color="magenta"];3643 -> 3662[label="",style="dashed", color="magenta", weight=3]; 2670[label="gcd1 (primEqInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2670 -> 2687[label="",style="solid", color="black", weight=3]; 2671[label="gcd1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2671 -> 2688[label="",style="solid", color="black", weight=3]; 3765[label="absReal1 (Pos (Succ vx980)) MyTrue",fontsize=16,color="black",shape="box"];3765 -> 3772[label="",style="solid", color="black", weight=3]; 3766[label="Pos Zero",fontsize=16,color="green",shape="box"];3767[label="primRemInt (Pos vx1710) (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3767 -> 3773[label="",style="solid", color="black", weight=3]; 3768[label="primRemInt (Neg vx1710) (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3768 -> 3774[label="",style="solid", color="black", weight=3]; 3769[label="primRemInt (Pos vx1710) (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3769 -> 3775[label="",style="solid", color="black", weight=3]; 3770[label="primRemInt (Neg vx1710) (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3770 -> 3776[label="",style="solid", color="black", weight=3]; 3771[label="absReal0 (Neg (Succ vx1250)) MyTrue",fontsize=16,color="black",shape="box"];3771 -> 3777[label="",style="solid", color="black", weight=3]; 3729[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT))",fontsize=16,color="black",shape="triangle"];3729 -> 3741[label="",style="solid", color="black", weight=3]; 3660[label="absReal (Neg vx101)",fontsize=16,color="black",shape="box"];3660 -> 3672[label="",style="solid", color="black", weight=3]; 3661[label="Succ vx1260",fontsize=16,color="green",shape="box"];2639[label="gcd1 (primEqInt (Neg (Succ vx1010)) (Pos Zero)) (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2639 -> 2655[label="",style="solid", color="black", weight=3]; 2640[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2640 -> 2656[label="",style="solid", color="black", weight=3]; 3662[label="vx127",fontsize=16,color="green",shape="box"];2687[label="gcd1 (primEqInt (Neg (Succ vx1010)) (Pos Zero)) (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2687 -> 2703[label="",style="solid", color="black", weight=3]; 2688[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2688 -> 2704[label="",style="solid", color="black", weight=3]; 3772[label="Pos (Succ vx980)",fontsize=16,color="green",shape="box"];3773[label="Pos (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3773 -> 3778[label="",style="dashed", color="green", weight=3]; 3774[label="Neg (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3774 -> 3779[label="",style="dashed", color="green", weight=3]; 3775[label="Pos (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3775 -> 3780[label="",style="dashed", color="green", weight=3]; 3776[label="Neg (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3776 -> 3781[label="",style="dashed", color="green", weight=3]; 3777[label="negateMyInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3777 -> 3782[label="",style="solid", color="black", weight=3]; 3741[label="absReal1 (Neg Zero) (not (esEsOrdering EQ LT))",fontsize=16,color="black",shape="box"];3741 -> 3749[label="",style="solid", color="black", weight=3]; 3672[label="absReal2 (Neg vx101)",fontsize=16,color="black",shape="box"];3672 -> 3681[label="",style="solid", color="black", weight=3]; 2655[label="gcd1 MyFalse (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 2656[label="gcd1 MyTrue (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 2703[label="gcd1 MyFalse (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2703 -> 2723[label="",style="solid", color="black", weight=3]; 2704[label="gcd1 MyTrue (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2704 -> 2724[label="",style="solid", color="black", weight=3]; 3778[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="burlywood",shape="triangle"];4136[label="vx1710/Succ vx17100",fontsize=10,color="white",style="solid",shape="box"];3778 -> 4136[label="",style="solid", color="burlywood", weight=9]; 4136 -> 3783[label="",style="solid", color="burlywood", weight=3]; 4137[label="vx1710/Zero",fontsize=10,color="white",style="solid",shape="box"];3778 -> 4137[label="",style="solid", color="burlywood", weight=9]; 4137 -> 3784[label="",style="solid", color="burlywood", weight=3]; 3779 -> 3778[label="",style="dashed", color="red", weight=0]; 3779[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3779 -> 3785[label="",style="dashed", color="magenta", weight=3]; 3780 -> 3778[label="",style="dashed", color="red", weight=0]; 3780[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3780 -> 3786[label="",style="dashed", color="magenta", weight=3]; 3781 -> 3778[label="",style="dashed", color="red", weight=0]; 3781[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3781 -> 3787[label="",style="dashed", color="magenta", weight=3]; 3781 -> 3788[label="",style="dashed", color="magenta", weight=3]; 3782[label="primNegInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3782 -> 3789[label="",style="solid", color="black", weight=3]; 3749[label="absReal1 (Neg Zero) (not MyFalse)",fontsize=16,color="black",shape="box"];3749 -> 3758[label="",style="solid", color="black", weight=3]; 3681[label="absReal1 (Neg vx101) (gtEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3681 -> 3690[label="",style="solid", color="black", weight=3]; 2673[label="gcd0 (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2673 -> 2690[label="",style="solid", color="black", weight=3]; 2674 -> 2462[label="",style="dashed", color="red", weight=0]; 2674[label="error",fontsize=16,color="magenta"];2723 -> 2636[label="",style="dashed", color="red", weight=0]; 2723[label="gcd0 (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="magenta"];2723 -> 2743[label="",style="dashed", color="magenta", weight=3]; 2724 -> 2462[label="",style="dashed", color="red", weight=0]; 2724[label="error",fontsize=16,color="magenta"];3783[label="primModNatS (Succ vx17100) (Succ vx17000)",fontsize=16,color="burlywood",shape="box"];4138[label="vx17000/Succ vx170000",fontsize=10,color="white",style="solid",shape="box"];3783 -> 4138[label="",style="solid", color="burlywood", weight=9]; 4138 -> 3790[label="",style="solid", color="burlywood", weight=3]; 4139[label="vx17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3783 -> 4139[label="",style="solid", color="burlywood", weight=9]; 4139 -> 3791[label="",style="solid", color="burlywood", weight=3]; 3784[label="primModNatS Zero (Succ vx17000)",fontsize=16,color="black",shape="box"];3784 -> 3792[label="",style="solid", color="black", weight=3]; 3785[label="vx1710",fontsize=16,color="green",shape="box"];3786[label="vx17000",fontsize=16,color="green",shape="box"];3787[label="vx1710",fontsize=16,color="green",shape="box"];3788[label="vx17000",fontsize=16,color="green",shape="box"];3789[label="Pos (Succ vx1250)",fontsize=16,color="green",shape="box"];3758[label="absReal1 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];3758 -> 3764[label="",style="solid", color="black", weight=3]; 3690[label="absReal1 (Neg vx101) (fsEsOrdering (compareMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3690 -> 3701[label="",style="solid", color="black", weight=3]; 2690 -> 3633[label="",style="dashed", color="red", weight=0]; 2690[label="gcd0Gcd' (absMyInt (Neg Zero)) (absMyInt (Neg (Succ vx1010)))",fontsize=16,color="magenta"];2690 -> 3644[label="",style="dashed", color="magenta", weight=3]; 2690 -> 3645[label="",style="dashed", color="magenta", weight=3]; 2743[label="Succ vx1010",fontsize=16,color="green",shape="box"];3790[label="primModNatS (Succ vx17100) (Succ (Succ vx170000))",fontsize=16,color="black",shape="box"];3790 -> 3793[label="",style="solid", color="black", weight=3]; 3791[label="primModNatS (Succ vx17100) (Succ Zero)",fontsize=16,color="black",shape="box"];3791 -> 3794[label="",style="solid", color="black", weight=3]; 3792[label="Zero",fontsize=16,color="green",shape="box"];3764[label="Neg Zero",fontsize=16,color="green",shape="box"];3701[label="absReal1 (Neg vx101) (not (esEsOrdering (compareMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3701 -> 3715[label="",style="solid", color="black", weight=3]; 3644 -> 3640[label="",style="dashed", color="red", weight=0]; 3644[label="absMyInt (Neg (Succ vx1010))",fontsize=16,color="magenta"];3644 -> 3663[label="",style="dashed", color="magenta", weight=3]; 3645 -> 3640[label="",style="dashed", color="red", weight=0]; 3645[label="absMyInt (Neg Zero)",fontsize=16,color="magenta"];3645 -> 3664[label="",style="dashed", color="magenta", weight=3]; 3793[label="primModNatS0 vx17100 vx170000 (primGEqNatS vx17100 (Succ vx170000))",fontsize=16,color="burlywood",shape="box"];4140[label="vx17100/Succ vx171000",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4140[label="",style="solid", color="burlywood", weight=9]; 4140 -> 3795[label="",style="solid", color="burlywood", weight=3]; 4141[label="vx17100/Zero",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4141[label="",style="solid", color="burlywood", weight=9]; 4141 -> 3796[label="",style="solid", color="burlywood", weight=3]; 3794[label="Zero",fontsize=16,color="green",shape="box"];3715[label="absReal1 (Neg vx101) (not (esEsOrdering (primCmpInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="burlywood",shape="box"];4142[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];3715 -> 4142[label="",style="solid", color="burlywood", weight=9]; 4142 -> 3730[label="",style="solid", color="burlywood", weight=3]; 4143[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];3715 -> 4143[label="",style="solid", color="burlywood", weight=9]; 4143 -> 3731[label="",style="solid", color="burlywood", weight=3]; 3663[label="Succ vx1010",fontsize=16,color="green",shape="box"];3664[label="Zero",fontsize=16,color="green",shape="box"];3795[label="primModNatS0 (Succ vx171000) vx170000 (primGEqNatS (Succ vx171000) (Succ vx170000))",fontsize=16,color="black",shape="box"];3795 -> 3797[label="",style="solid", color="black", weight=3]; 3796[label="primModNatS0 Zero vx170000 (primGEqNatS Zero (Succ vx170000))",fontsize=16,color="black",shape="box"];3796 -> 3798[label="",style="solid", color="black", weight=3]; 3730[label="absReal1 (Neg (Succ vx1010)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3730 -> 3742[label="",style="solid", color="black", weight=3]; 3731[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3731 -> 3743[label="",style="solid", color="black", weight=3]; 3797[label="primModNatS0 (Succ vx171000) vx170000 (primGEqNatS vx171000 vx170000)",fontsize=16,color="burlywood",shape="box"];4144[label="vx171000/Succ vx1710000",fontsize=10,color="white",style="solid",shape="box"];3797 -> 4144[label="",style="solid", color="burlywood", weight=9]; 4144 -> 3799[label="",style="solid", color="burlywood", weight=3]; 4145[label="vx171000/Zero",fontsize=10,color="white",style="solid",shape="box"];3797 -> 4145[label="",style="solid", color="burlywood", weight=9]; 4145 -> 3800[label="",style="solid", color="burlywood", weight=3]; 3798[label="primModNatS0 Zero vx170000 MyFalse",fontsize=16,color="black",shape="box"];3798 -> 3801[label="",style="solid", color="black", weight=3]; 3742 -> 3728[label="",style="dashed", color="red", weight=0]; 3742[label="absReal1 (Neg (Succ vx1010)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1010)) (Pos Zero)) LT))",fontsize=16,color="magenta"];3742 -> 3750[label="",style="dashed", color="magenta", weight=3]; 3743 -> 3729[label="",style="dashed", color="red", weight=0]; 3743[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT))",fontsize=16,color="magenta"];3799[label="primModNatS0 (Succ (Succ vx1710000)) vx170000 (primGEqNatS (Succ vx1710000) vx170000)",fontsize=16,color="burlywood",shape="box"];4146[label="vx170000/Succ vx1700000",fontsize=10,color="white",style="solid",shape="box"];3799 -> 4146[label="",style="solid", color="burlywood", weight=9]; 4146 -> 3802[label="",style="solid", color="burlywood", weight=3]; 4147[label="vx170000/Zero",fontsize=10,color="white",style="solid",shape="box"];3799 -> 4147[label="",style="solid", color="burlywood", weight=9]; 4147 -> 3803[label="",style="solid", color="burlywood", weight=3]; 3800[label="primModNatS0 (Succ Zero) vx170000 (primGEqNatS Zero vx170000)",fontsize=16,color="burlywood",shape="box"];4148[label="vx170000/Succ vx1700000",fontsize=10,color="white",style="solid",shape="box"];3800 -> 4148[label="",style="solid", color="burlywood", weight=9]; 4148 -> 3804[label="",style="solid", color="burlywood", weight=3]; 4149[label="vx170000/Zero",fontsize=10,color="white",style="solid",shape="box"];3800 -> 4149[label="",style="solid", color="burlywood", weight=9]; 4149 -> 3805[label="",style="solid", color="burlywood", weight=3]; 3801[label="Succ Zero",fontsize=16,color="green",shape="box"];3750[label="vx1010",fontsize=16,color="green",shape="box"];3802[label="primModNatS0 (Succ (Succ vx1710000)) (Succ vx1700000) (primGEqNatS (Succ vx1710000) (Succ vx1700000))",fontsize=16,color="black",shape="box"];3802 -> 3806[label="",style="solid", color="black", weight=3]; 3803[label="primModNatS0 (Succ (Succ vx1710000)) Zero (primGEqNatS (Succ vx1710000) Zero)",fontsize=16,color="black",shape="box"];3803 -> 3807[label="",style="solid", color="black", weight=3]; 3804[label="primModNatS0 (Succ Zero) (Succ vx1700000) (primGEqNatS Zero (Succ vx1700000))",fontsize=16,color="black",shape="box"];3804 -> 3808[label="",style="solid", color="black", weight=3]; 3805[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3805 -> 3809[label="",style="solid", color="black", weight=3]; 3806 -> 3922[label="",style="dashed", color="red", weight=0]; 3806[label="primModNatS0 (Succ (Succ vx1710000)) (Succ vx1700000) (primGEqNatS vx1710000 vx1700000)",fontsize=16,color="magenta"];3806 -> 3923[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3924[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3925[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3926[label="",style="dashed", color="magenta", weight=3]; 3807[label="primModNatS0 (Succ (Succ vx1710000)) Zero MyTrue",fontsize=16,color="black",shape="box"];3807 -> 3812[label="",style="solid", color="black", weight=3]; 3808[label="primModNatS0 (Succ Zero) (Succ vx1700000) MyFalse",fontsize=16,color="black",shape="box"];3808 -> 3813[label="",style="solid", color="black", weight=3]; 3809[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];3809 -> 3814[label="",style="solid", color="black", weight=3]; 3923[label="vx1700000",fontsize=16,color="green",shape="box"];3924[label="vx1710000",fontsize=16,color="green",shape="box"];3925[label="Succ vx1710000",fontsize=16,color="green",shape="box"];3926[label="vx1700000",fontsize=16,color="green",shape="box"];3922[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS vx182 vx183)",fontsize=16,color="burlywood",shape="triangle"];4150[label="vx182/Succ vx1820",fontsize=10,color="white",style="solid",shape="box"];3922 -> 4150[label="",style="solid", color="burlywood", weight=9]; 4150 -> 3951[label="",style="solid", color="burlywood", weight=3]; 4151[label="vx182/Zero",fontsize=10,color="white",style="solid",shape="box"];3922 -> 4151[label="",style="solid", color="burlywood", weight=9]; 4151 -> 3952[label="",style="solid", color="burlywood", weight=3]; 3812 -> 3778[label="",style="dashed", color="red", weight=0]; 3812[label="primModNatS (primMinusNatS (Succ (Succ vx1710000)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];3812 -> 3819[label="",style="dashed", color="magenta", weight=3]; 3812 -> 3820[label="",style="dashed", color="magenta", weight=3]; 3813[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];3814 -> 3778[label="",style="dashed", color="red", weight=0]; 3814[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];3814 -> 3821[label="",style="dashed", color="magenta", weight=3]; 3814 -> 3822[label="",style="dashed", color="magenta", weight=3]; 3951[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) vx183)",fontsize=16,color="burlywood",shape="box"];4152[label="vx183/Succ vx1830",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4152[label="",style="solid", color="burlywood", weight=9]; 4152 -> 3953[label="",style="solid", color="burlywood", weight=3]; 4153[label="vx183/Zero",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4153[label="",style="solid", color="burlywood", weight=9]; 4153 -> 3954[label="",style="solid", color="burlywood", weight=3]; 3952[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero vx183)",fontsize=16,color="burlywood",shape="box"];4154[label="vx183/Succ vx1830",fontsize=10,color="white",style="solid",shape="box"];3952 -> 4154[label="",style="solid", color="burlywood", weight=9]; 4154 -> 3955[label="",style="solid", color="burlywood", weight=3]; 4155[label="vx183/Zero",fontsize=10,color="white",style="solid",shape="box"];3952 -> 4155[label="",style="solid", color="burlywood", weight=9]; 4155 -> 3956[label="",style="solid", color="burlywood", weight=3]; 3819 -> 3682[label="",style="dashed", color="red", weight=0]; 3819[label="primMinusNatS (Succ (Succ vx1710000)) (Succ Zero)",fontsize=16,color="magenta"];3819 -> 3827[label="",style="dashed", color="magenta", weight=3]; 3819 -> 3828[label="",style="dashed", color="magenta", weight=3]; 3820[label="Succ Zero",fontsize=16,color="green",shape="box"];3821 -> 3682[label="",style="dashed", color="red", weight=0]; 3821[label="primMinusNatS (Succ Zero) (Succ Zero)",fontsize=16,color="magenta"];3821 -> 3829[label="",style="dashed", color="magenta", weight=3]; 3821 -> 3830[label="",style="dashed", color="magenta", weight=3]; 3822[label="Succ Zero",fontsize=16,color="green",shape="box"];3953[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) (Succ vx1830))",fontsize=16,color="black",shape="box"];3953 -> 3957[label="",style="solid", color="black", weight=3]; 3954[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) Zero)",fontsize=16,color="black",shape="box"];3954 -> 3958[label="",style="solid", color="black", weight=3]; 3955[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero (Succ vx1830))",fontsize=16,color="black",shape="box"];3955 -> 3959[label="",style="solid", color="black", weight=3]; 3956[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3956 -> 3960[label="",style="solid", color="black", weight=3]; 3827[label="Succ Zero",fontsize=16,color="green",shape="box"];3828[label="Succ (Succ vx1710000)",fontsize=16,color="green",shape="box"];3829[label="Succ Zero",fontsize=16,color="green",shape="box"];3830[label="Succ Zero",fontsize=16,color="green",shape="box"];3957 -> 3922[label="",style="dashed", color="red", weight=0]; 3957[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS vx1820 vx1830)",fontsize=16,color="magenta"];3957 -> 3961[label="",style="dashed", color="magenta", weight=3]; 3957 -> 3962[label="",style="dashed", color="magenta", weight=3]; 3958[label="primModNatS0 (Succ vx180) (Succ vx181) MyTrue",fontsize=16,color="black",shape="triangle"];3958 -> 3963[label="",style="solid", color="black", weight=3]; 3959[label="primModNatS0 (Succ vx180) (Succ vx181) MyFalse",fontsize=16,color="black",shape="box"];3959 -> 3964[label="",style="solid", color="black", weight=3]; 3960 -> 3958[label="",style="dashed", color="red", weight=0]; 3960[label="primModNatS0 (Succ vx180) (Succ vx181) MyTrue",fontsize=16,color="magenta"];3961[label="vx1820",fontsize=16,color="green",shape="box"];3962[label="vx1830",fontsize=16,color="green",shape="box"];3963 -> 3778[label="",style="dashed", color="red", weight=0]; 3963[label="primModNatS (primMinusNatS (Succ vx180) (Succ (Succ vx181))) (Succ (Succ (Succ vx181)))",fontsize=16,color="magenta"];3963 -> 3965[label="",style="dashed", color="magenta", weight=3]; 3963 -> 3966[label="",style="dashed", color="magenta", weight=3]; 3964[label="Succ (Succ vx180)",fontsize=16,color="green",shape="box"];3965 -> 3682[label="",style="dashed", color="red", weight=0]; 3965[label="primMinusNatS (Succ vx180) (Succ (Succ vx181))",fontsize=16,color="magenta"];3965 -> 3967[label="",style="dashed", color="magenta", weight=3]; 3965 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3966[label="Succ (Succ vx181)",fontsize=16,color="green",shape="box"];3967[label="Succ (Succ vx181)",fontsize=16,color="green",shape="box"];3968[label="Succ vx180",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) 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_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS00(vx180, vx181) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS0(vx180, vx181, vx1820, vx1830) new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS0(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx1710000), Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx1710000), Main.Zero), Main.Succ(Main.Zero))) ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx1710000), Main.Zero), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) 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. ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx1710000), Main.Zero), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx1710000), Main.Zero), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero))) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) 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. ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero)) R is empty. The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero)) 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_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(vx1710000), Main.Succ(Main.Zero)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (29) YES ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS0(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS0(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS00(vx180, vx181) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS0(vx180, vx181, vx1820, vx1830) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))),new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181)))) ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS0(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS0(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS00(vx180, vx181) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS0(vx180, vx181, vx1820, vx1830) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) at position [0] we obtained the following new rules [LPAR04]: (new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))),new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181)))) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS0(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS0(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS00(vx180, vx181) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS0(vx180, vx181, vx1820, vx1830) new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))) new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) 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(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS00(vx180, vx181) -> new_primModNatS(new_primMinusNatS0(vx180, Main.Succ(vx181)), Main.Succ(Main.Succ(vx181))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primModNatS(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS0(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primModNatS0(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS0(vx180, vx181, vx1820, vx1830) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primModNatS0(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS00(vx180, vx181) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (36) YES ---------------------------------------- (37) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (39) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (40) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) the following chains were created: *We consider the chain new_gcd0Gcd'(x0, Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), new_primRemInt(x0, x1)), new_gcd0Gcd'(x2, Main.Pos(Main.Succ(x3))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x3)), new_primRemInt(x2, x3)) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), new_primRemInt(x0, x1))=new_gcd0Gcd'(x2, Main.Pos(Main.Succ(x3))) ==> new_gcd0Gcd'(x0, Main.Pos(Main.Succ(x1)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), new_primRemInt(x0, x1))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x0, x1)=Main.Pos(Main.Succ(x3)) ==> new_gcd0Gcd'(x0, Main.Pos(Main.Succ(x1)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), new_primRemInt(x0, x1))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x0, x1)=Main.Pos(Main.Succ(x3)) which results in the following new constraint: (3) (Main.Pos(new_primModNatS1(x19, x18))=Main.Pos(Main.Succ(x3)) ==> new_gcd0Gcd'(Main.Pos(x19), Main.Pos(Main.Succ(x18)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x18)), new_primRemInt(Main.Pos(x19), x18))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x19, x18)=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(x19), Main.Pos(Main.Succ(x18)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x18)), new_primRemInt(Main.Pos(x19), x18))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x19, x18)=Main.Succ(x3) which results in the following new constraints: (5) (Main.Succ(Main.Zero)=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x20))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x20))), new_primRemInt(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x20)))) (6) (Main.Succ(Main.Succ(Main.Zero))=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x22))))) (7) (new_primModNatS01(Main.Succ(x24), x23, x24, x23)=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x23)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x23)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Succ(Main.Succ(x23))))) (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x25)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Succ(Main.Zero)))) (9) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x3) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x20))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x20))), new_primRemInt(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x20)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x22))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x28)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x28)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Succ(Main.Succ(x28))))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Succ(Main.Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) *We consider the chain new_gcd0Gcd'(x4, Main.Pos(Main.Succ(x5))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x5)), new_primRemInt(x4, x5)), new_gcd0Gcd'(x6, Main.Neg(Main.Succ(x7))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x7)), new_primRemInt0(x6, x7)) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Pos(Main.Succ(x5)), new_primRemInt(x4, x5))=new_gcd0Gcd'(x6, Main.Neg(Main.Succ(x7))) ==> new_gcd0Gcd'(x4, Main.Pos(Main.Succ(x5)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x5)), new_primRemInt(x4, x5))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x4, x5)=Main.Neg(Main.Succ(x7)) ==> new_gcd0Gcd'(x4, Main.Pos(Main.Succ(x5)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x5)), new_primRemInt(x4, x5))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x4, x5)=Main.Neg(Main.Succ(x7)) which results in the following new constraint: (3) (Main.Neg(new_primModNatS1(x38, x37))=Main.Neg(Main.Succ(x7)) ==> new_gcd0Gcd'(Main.Neg(x38), Main.Pos(Main.Succ(x37)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x37)), new_primRemInt(Main.Neg(x38), x37))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x38, x37)=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(x38), Main.Pos(Main.Succ(x37)))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(x37)), new_primRemInt(Main.Neg(x38), x37))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x38, x37)=Main.Succ(x7) which results in the following new constraints: (5) (Main.Succ(Main.Zero)=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x41))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x41))), new_primRemInt(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x41)))) (6) (Main.Succ(Main.Succ(Main.Zero))=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x43))))) (7) (new_primModNatS01(Main.Succ(x45), x44, x45, x44)=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x44)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x44)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Succ(Main.Succ(x44))))) (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x46)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Succ(Main.Zero)))) (9) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x7) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x41))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x41))), new_primRemInt(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x41)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x43))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x49)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x49)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Succ(Main.Succ(x49))))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Succ(Main.Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) For Pair new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) the following chains were created: *We consider the chain new_gcd0Gcd'(x8, Main.Neg(Main.Succ(x9))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x9)), new_primRemInt0(x8, x9)), new_gcd0Gcd'(x10, Main.Pos(Main.Succ(x11))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x11)), new_primRemInt(x10, x11)) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Neg(Main.Succ(x9)), new_primRemInt0(x8, x9))=new_gcd0Gcd'(x10, Main.Pos(Main.Succ(x11))) ==> new_gcd0Gcd'(x8, Main.Neg(Main.Succ(x9)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x9)), new_primRemInt0(x8, x9))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt0(x8, x9)=Main.Pos(Main.Succ(x11)) ==> new_gcd0Gcd'(x8, Main.Neg(Main.Succ(x9)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x9)), new_primRemInt0(x8, x9))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt0(x8, x9)=Main.Pos(Main.Succ(x11)) which results in the following new constraint: (3) (Main.Pos(new_primModNatS1(x59, x58))=Main.Pos(Main.Succ(x11)) ==> new_gcd0Gcd'(Main.Pos(x59), Main.Neg(Main.Succ(x58)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x58)), new_primRemInt0(Main.Pos(x59), x58))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x59, x58)=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(x59), Main.Neg(Main.Succ(x58)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x58)), new_primRemInt0(Main.Pos(x59), x58))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x59, x58)=Main.Succ(x11) which results in the following new constraints: (5) (Main.Succ(Main.Zero)=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x62))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x62))), new_primRemInt0(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x62)))) (6) (Main.Succ(Main.Succ(Main.Zero))=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x64))))) (7) (new_primModNatS01(Main.Succ(x66), x65, x66, x65)=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x65)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x65)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Succ(Main.Succ(x65))))) (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x67)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Succ(Main.Zero)))) (9) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x11) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x62))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x62))), new_primRemInt0(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x62)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x64))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x70)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x70)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Succ(Main.Succ(x70))))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Succ(Main.Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) *We consider the chain new_gcd0Gcd'(x12, Main.Neg(Main.Succ(x13))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x13)), new_primRemInt0(x12, x13)), new_gcd0Gcd'(x14, Main.Neg(Main.Succ(x15))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x15)), new_primRemInt0(x14, x15)) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Neg(Main.Succ(x13)), new_primRemInt0(x12, x13))=new_gcd0Gcd'(x14, Main.Neg(Main.Succ(x15))) ==> new_gcd0Gcd'(x12, Main.Neg(Main.Succ(x13)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x13)), new_primRemInt0(x12, x13))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt0(x12, x13)=Main.Neg(Main.Succ(x15)) ==> new_gcd0Gcd'(x12, Main.Neg(Main.Succ(x13)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x13)), new_primRemInt0(x12, x13))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt0(x12, x13)=Main.Neg(Main.Succ(x15)) which results in the following new constraint: (3) (Main.Neg(new_primModNatS1(x82, x81))=Main.Neg(Main.Succ(x15)) ==> new_gcd0Gcd'(Main.Neg(x82), Main.Neg(Main.Succ(x81)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x81)), new_primRemInt0(Main.Neg(x82), x81))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_primModNatS1(x82, x81)=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(x82), Main.Neg(Main.Succ(x81)))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(x81)), new_primRemInt0(Main.Neg(x82), x81))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x82, x81)=Main.Succ(x15) which results in the following new constraints: (5) (Main.Succ(Main.Zero)=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x83))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x83))), new_primRemInt0(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x83)))) (6) (Main.Succ(Main.Succ(Main.Zero))=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x85))))) (7) (new_primModNatS01(Main.Succ(x87), x86, x87, x86)=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x86)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x86)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Succ(Main.Succ(x86))))) (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x88)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Succ(Main.Zero)))) (9) (new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))=Main.Succ(x15) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x83))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x83))), new_primRemInt0(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x83)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x85))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x91)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x91)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Succ(Main.Succ(x91))))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Succ(Main.Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x20))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x20))), new_primRemInt(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x20)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x22)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x22))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x28)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x28)))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x24)))), Main.Succ(Main.Succ(x28))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x25)))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x41))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x41))), new_primRemInt(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x41)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x43)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x43))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x49)))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x49)))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Succ(Main.Succ(x49))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x46)))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) *new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x62))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x62))), new_primRemInt0(Main.Pos(Main.Succ(Main.Zero)), Main.Succ(x62)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x64)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x64))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x70)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x70)))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x66)))), Main.Succ(Main.Succ(x70))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x67)))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x83))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x83))), new_primRemInt0(Main.Neg(Main.Succ(Main.Zero)), Main.Succ(x83)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x85)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x85))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x91)))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x91)))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x87)))), Main.Succ(Main.Succ(x91))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x88)))), Main.Succ(Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), new_primRemInt0(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.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. ---------------------------------------- (41) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (42) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (43) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (44) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (45) Complex Obligation (AND) ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) 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(Main.Neg(x0), x1) new_primRemInt0(Main.Neg(x0), x1) new_primRemInt(Main.Pos(x0), x1) new_primRemInt0(Main.Pos(x0), x1) ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Zero)),new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Zero))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Zero)),new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Zero))) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Zero)) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes. ---------------------------------------- (54) Complex Obligation (AND) ---------------------------------------- (55) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (87) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (95) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) 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(Main.Pos(x_1)) = x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (99) YES ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (106) Complex Obligation (AND) ---------------------------------------- (107) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (113) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (114) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (115) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (116) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (117) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (118) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (119) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (120) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))) ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (129) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Pos(x_1)) = 2*x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + 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_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (133) TRUE ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (138) Complex Obligation (AND) ---------------------------------------- (139) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (155) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (157) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Pos(x_1)) = 2*x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (165) TRUE ---------------------------------------- (166) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (167) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1))), new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))=new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(x0)))=x4 & Main.Succ(Main.Succ(x1))=x5 & new_primModNatS01(x4, x5, x0, x1)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x4, x5, x0, x1)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraints: (3) (new_primModNatS02(x7, x6)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x7 & Main.Succ(Main.Succ(Main.Zero))=x6 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) (4) (new_primModNatS02(x10, x9)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))=x10 & Main.Succ(Main.Succ(Main.Zero))=x9 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) (5) (new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))=x14 & Main.Succ(Main.Succ(Main.Succ(x11)))=x13 & (\/x15:new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x15))))) & Main.Succ(Main.Succ(Main.Succ(x12)))=x14 & Main.Succ(Main.Succ(x11))=x13 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x12))), Main.Succ(Main.Succ(x11)), x12, x11)))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))), Main.Succ(Main.Succ(Main.Succ(x11))), Main.Succ(x12), Main.Succ(x11))))) (6) (Main.Succ(Main.Succ(x18))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x18 & Main.Succ(Main.Succ(Main.Succ(x16)))=x17 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x6)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x20), Main.Succ(Main.Succ(x19))), Main.Succ(Main.Succ(x19)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x20 & Main.Succ(Main.Succ(Main.Zero))=x19 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x9)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraint: (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x26), Main.Succ(Main.Succ(x25))), Main.Succ(Main.Succ(x25)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))=x26 & Main.Succ(Main.Succ(Main.Zero))=x25 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) We simplified constraint (5) using rule (IV) which results in the following new constraint: (9) (new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))=x14 & Main.Succ(Main.Succ(Main.Succ(x11)))=x13 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))), Main.Succ(Main.Succ(Main.Succ(x11))), Main.Succ(x12), Main.Succ(x11))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraints: (13) (new_primModNatS02(x32, x31)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x32 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x31 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) (14) (new_primModNatS02(x35, x34)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))=x35 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x34 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) (15) (new_primModNatS01(x39, x38, x37, x36)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))=x39 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))=x38 & (\/x40:new_primModNatS01(x39, x38, x37, x36)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x40))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))=x39 & Main.Succ(Main.Succ(Main.Succ(x36)))=x38 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))), Main.Succ(Main.Succ(Main.Succ(x36))), Main.Succ(x37), Main.Succ(x36))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) (16) (Main.Succ(Main.Succ(x43))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x43 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41))))=x42 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) 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. ---------------------------------------- (168) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) 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. ---------------------------------------- (171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) The set Q consists of the following terms: new_primRemInt(Main.Neg(x0), x1) new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primRemInt(Main.Pos(x0), x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (172) 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(Main.Neg(x0), x1) new_primRemInt(Main.Pos(x0), x1) ---------------------------------------- (173) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (174) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (175) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (176) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (177) Complex Obligation (AND) ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt0(Main.Neg(x0), x1) new_primRemInt0(Main.Pos(x0), x1) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Zero)),new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Zero))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Zero)),new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Zero))) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Zero)) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Neg(Main.Zero)) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes. ---------------------------------------- (186) Complex Obligation (AND) ---------------------------------------- (187) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (188) 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. ---------------------------------------- (189) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (190) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) ---------------------------------------- (191) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (193) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (195) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (196) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (197) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (198) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (199) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (200) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (201) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (202) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (203) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (204) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (205) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (206) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (207) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (208) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (209) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (210) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (211) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (212) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (213) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (214) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (215) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (216) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (217) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (218) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (219) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (220) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (221) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (222) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (223) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (224) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (225) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (226) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (227) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (228) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (229) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (230) 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(Main.Neg(x_1)) = x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (231) YES ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) 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. ---------------------------------------- (234) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (235) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (236) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (237) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (238) Complex Obligation (AND) ---------------------------------------- (239) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (240) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (241) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (243) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (245) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (247) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (248) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (249) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (250) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (251) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (252) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (253) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (254) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (255) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (256) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (257) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))) ---------------------------------------- (259) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (261) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (262) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = 2*x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + 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_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (263) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (264) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (265) TRUE ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (270) Complex Obligation (AND) ---------------------------------------- (271) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (272) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (273) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (274) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (275) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (276) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (277) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (278) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (279) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (280) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (281) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (282) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (283) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (284) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (285) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (286) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (287) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (288) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (289) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (290) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (291) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (292) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (293) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (294) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = 2*x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (295) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (296) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (297) TRUE ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1))), new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))=new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(x0)))=x4 & Main.Succ(Main.Succ(x1))=x5 & new_primModNatS01(x4, x5, x0, x1)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1)), x0, x1)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x4, x5, x0, x1)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraints: (3) (new_primModNatS02(x7, x6)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x7 & Main.Succ(Main.Succ(Main.Zero))=x6 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) (4) (new_primModNatS02(x10, x9)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))=x10 & Main.Succ(Main.Succ(Main.Zero))=x9 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) (5) (new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))=x14 & Main.Succ(Main.Succ(Main.Succ(x11)))=x13 & (\/x15:new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x15))))) & Main.Succ(Main.Succ(Main.Succ(x12)))=x14 & Main.Succ(Main.Succ(x11))=x13 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x12))), Main.Succ(Main.Succ(x11)), x12, x11)))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))), Main.Succ(Main.Succ(Main.Succ(x11))), Main.Succ(x12), Main.Succ(x11))))) (6) (Main.Succ(Main.Succ(x18))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x18 & Main.Succ(Main.Succ(Main.Succ(x16)))=x17 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x6)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x20), Main.Succ(Main.Succ(x19))), Main.Succ(Main.Succ(x19)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x20 & Main.Succ(Main.Succ(Main.Zero))=x19 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x9)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraint: (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x26), Main.Succ(Main.Succ(x25))), Main.Succ(Main.Succ(x25)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))=x26 & Main.Succ(Main.Succ(Main.Zero))=x25 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) We simplified constraint (5) using rule (IV) which results in the following new constraint: (9) (new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))=x14 & Main.Succ(Main.Succ(Main.Succ(x11)))=x13 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x11))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))), Main.Succ(Main.Succ(Main.Succ(x11))), Main.Succ(x12), Main.Succ(x11))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x14, x13, x12, x11)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) which results in the following new constraints: (13) (new_primModNatS02(x32, x31)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x32 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x31 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) (14) (new_primModNatS02(x35, x34)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))=x35 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x34 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) (15) (new_primModNatS01(x39, x38, x37, x36)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))=x39 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))=x38 & (\/x40:new_primModNatS01(x39, x38, x37, x36)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x40))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))=x39 & Main.Succ(Main.Succ(Main.Succ(x36)))=x38 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))), Main.Succ(Main.Succ(Main.Succ(x36))), Main.Succ(x37), Main.Succ(x36))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) (16) (Main.Succ(Main.Succ(x43))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x43 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41))))=x42 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x41)))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x16))), Main.Zero, Main.Succ(x16))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x8), Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x33))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x33)), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x37))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x36)))), Main.Succ(Main.Succ(x37)), Main.Succ(Main.Succ(x36)))))) 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. ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (302) 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. ---------------------------------------- (303) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primRemInt0(Main.Neg(x0), x1) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primRemInt0(Main.Pos(x0), x1) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (304) 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_primRemInt0(Main.Neg(x0), x1) new_primRemInt0(Main.Pos(x0), x1) ---------------------------------------- (305) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (306) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(x0), Main.Neg(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x1)), Main.Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Zero)),new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Zero))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Zero)),new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Zero))) ---------------------------------------- (307) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Zero), Main.Neg(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Zero)) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (308) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (309) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (310) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (311) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (312) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (313) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (314) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (315) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (316) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (317) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (318) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (319) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (320) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(x0), Main.Pos(Main.Succ(x1))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x1)), Main.Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Zero)),new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Zero))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Zero)),new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Zero))) ---------------------------------------- (321) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(x0))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Zero)), Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(x0))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Zero), Main.Pos(Main.Succ(x0))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(x0)), Main.Neg(Main.Zero)) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(x0)), Main.Pos(Main.Succ(Main.Zero))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Zero)), Main.Neg(Main.Zero)) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (322) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 5 less nodes. ---------------------------------------- (323) Complex Obligation (AND) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) 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. ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (342) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (350) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (351) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (352) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (353) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (354) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (356) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) 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(Main.Neg(x_1)) = x_1 POL(Main.Pos(x_1)) = 1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Zero))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (362) YES ---------------------------------------- (363) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (364) 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. ---------------------------------------- (365) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (366) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) ---------------------------------------- (367) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (368) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (369) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (371) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (372) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (373) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (374) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (375) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (376) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (377) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (378) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (379) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (380) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (381) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (382) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) ---------------------------------------- (383) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (384) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (385) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (386) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (387) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (388) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (389) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (390) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (391) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (392) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (393) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (394) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x0), Main.Zero), Main.Succ(Main.Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero))))) ---------------------------------------- (395) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (396) 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(Main.Neg(x_1)) = 1 POL(Main.Pos(x_1)) = x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(new_primModNatS1(Main.Succ(x0), Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 > 2 *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Zero))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 1 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (397) YES ---------------------------------------- (398) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (399) 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. ---------------------------------------- (400) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (401) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Neg(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (404) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (405) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (406) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (407) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (408) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (409) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (410) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (411) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (412) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (413) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (414) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (415) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (416) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (417) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (418) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (419) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (420) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (421) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (422) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (423) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (424) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (425) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (426) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (427) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (428) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (429) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (430) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (432) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (433) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (434) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (438) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (440) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (441) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Pos(new_primModNatS01(Main.Succ(x0), x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (446) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Zero), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (448) Complex Obligation (AND) ---------------------------------------- (449) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (450) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(x2)), Main.Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (451) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (452) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (453) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (454) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (455) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (456) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero)))))) ---------------------------------------- (457) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (458) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero))))) ---------------------------------------- (459) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (460) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (461) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (462) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = 3 POL(Main.Pos(x_1)) = 3 + 2*x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + 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_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (463) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (464) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (465) TRUE ---------------------------------------- (466) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (467) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Zero))))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero)))) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero))))) ---------------------------------------- (468) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Zero))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Zero)))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (469) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (470) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (471) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(new_primModNatS01(Main.Succ(x0), Main.Zero, x0, Main.Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = 3 + 2*x_1 POL(Main.Pos(x_1)) = 3 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 1 + 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_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (472) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (473) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (474) TRUE ---------------------------------------- (475) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (476) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(x2)), Main.Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero))))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (477) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (479) Complex Obligation (AND) ---------------------------------------- (480) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (481) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (484) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (485) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (486) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (487) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (488) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (489) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (490) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (491) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = 2 POL(Main.Pos(x_1)) = x_1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_gcd0Gcd'(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (492) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (493) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (494) TRUE ---------------------------------------- (495) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (496) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(new_primModNatS1(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Neg(x_1)) = x_1 POL(Main.Pos(x_1)) = 2 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_gcd0Gcd'(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero ---------------------------------------- (497) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (498) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (499) TRUE ---------------------------------------- (500) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))), new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x4)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x4))), Main.Succ(Main.Succ(x5)), x4, x5))) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))=new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x4)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(x2)))=x12 & Main.Succ(Main.Succ(x3))=x13 & new_primModNatS01(x12, x13, x2, x3)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x2, x3)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x15 & Main.Succ(Main.Succ(Main.Zero))=x14 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) (4) (new_primModNatS02(x18, x17)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))=x18 & Main.Succ(Main.Succ(Main.Zero))=x17 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x16), Main.Zero)))) (5) (new_primModNatS01(x22, x21, x20, x19)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20))))=x22 & Main.Succ(Main.Succ(Main.Succ(x19)))=x21 & (\/x23:new_primModNatS01(x22, x21, x20, x19)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x23))))) & Main.Succ(Main.Succ(Main.Succ(x20)))=x22 & Main.Succ(Main.Succ(x19))=x21 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x20))), Main.Succ(Main.Succ(x19)), x20, x19)))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20)))), Main.Succ(Main.Succ(Main.Succ(x19))), Main.Succ(x20), Main.Succ(x19))))) (6) (Main.Succ(Main.Succ(x26))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x26 & Main.Succ(Main.Succ(Main.Succ(x24)))=x25 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x24))), Main.Zero, Main.Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x28), Main.Succ(Main.Succ(x27))), Main.Succ(Main.Succ(x27)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x28 & Main.Succ(Main.Succ(Main.Zero))=x27 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x18, x17)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) which results in the following new constraint: (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x34), Main.Succ(Main.Succ(x33))), Main.Succ(Main.Succ(x33)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))=x34 & Main.Succ(Main.Succ(Main.Zero))=x33 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x16), Main.Zero)))) We simplified constraint (5) using rule (IV) which results in the following new constraint: (9) (new_primModNatS01(x22, x21, x20, x19)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20))))=x22 & Main.Succ(Main.Succ(Main.Succ(x19)))=x21 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x20)))), Main.Succ(Main.Succ(Main.Succ(x19))), Main.Succ(x20), Main.Succ(x19))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x24))), Main.Zero, Main.Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x16), Main.Zero)))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x22, x21, x20, x19)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) which results in the following new constraints: (13) (new_primModNatS02(x40, x39)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x40 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x39 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) (14) (new_primModNatS02(x43, x42)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))=x43 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x42 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x41)), Main.Succ(Main.Zero))))) (15) (new_primModNatS01(x47, x46, x45, x44)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45)))))=x47 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))=x46 & (\/x48:new_primModNatS01(x47, x46, x45, x44)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x48))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45))))=x47 & Main.Succ(Main.Succ(Main.Succ(x44)))=x46 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45)))), Main.Succ(Main.Succ(Main.Succ(x44))), Main.Succ(x45), Main.Succ(x44))))) ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))), Main.Succ(Main.Succ(x45)), Main.Succ(Main.Succ(x44)))))) (16) (Main.Succ(Main.Succ(x51))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x5))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x51 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49))))=x50 ==> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x49)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x41)), Main.Succ(Main.Zero))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))), Main.Succ(Main.Succ(x45)), Main.Succ(Main.Succ(x44)))))) We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x49)))))) For Pair new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x6))), Main.Succ(Main.Succ(x7)), x6, x7))), new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x8))), Main.Succ(Main.Succ(x9)), x8, x9))) which results in the following constraint: (1) (new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x6))), Main.Succ(Main.Succ(x7)), x6, x7)))=new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x8)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x6))), Main.Succ(Main.Succ(x7)), x6, x7)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(x6)))=x52 & Main.Succ(Main.Succ(x7))=x53 & new_primModNatS01(x52, x53, x6, x7)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x7)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x6))), Main.Succ(Main.Succ(x7)), x6, x7)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x52, x53, x6, x7)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) which results in the following new constraints: (3) (new_primModNatS02(x55, x54)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x55 & Main.Succ(Main.Succ(Main.Zero))=x54 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) (4) (new_primModNatS02(x58, x57)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))=x58 & Main.Succ(Main.Succ(Main.Zero))=x57 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x56), Main.Zero)))) (5) (new_primModNatS01(x62, x61, x60, x59)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))=x62 & Main.Succ(Main.Succ(Main.Succ(x59)))=x61 & (\/x63:new_primModNatS01(x62, x61, x60, x59)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x63))))) & Main.Succ(Main.Succ(Main.Succ(x60)))=x62 & Main.Succ(Main.Succ(x59))=x61 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x60))), Main.Succ(Main.Succ(x59)), x60, x59)))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(x59))), Main.Succ(x60), Main.Succ(x59))))) (6) (Main.Succ(Main.Succ(x66))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x66 & Main.Succ(Main.Succ(Main.Succ(x64)))=x65 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x64))), Main.Zero, Main.Succ(x64))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x55, x54)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x68), Main.Succ(Main.Succ(x67))), Main.Succ(Main.Succ(x67)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x68 & Main.Succ(Main.Succ(Main.Zero))=x67 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x58, x57)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) which results in the following new constraint: (8) (new_primModNatS1(new_primMinusNatS0(Main.Succ(x74), Main.Succ(Main.Succ(x73))), Main.Succ(Main.Succ(x73)))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))=x74 & Main.Succ(Main.Succ(Main.Zero))=x73 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x56), Main.Zero)))) We simplified constraint (5) using rule (IV) which results in the following new constraint: (9) (new_primModNatS01(x62, x61, x60, x59)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))=x62 & Main.Succ(Main.Succ(Main.Succ(x59)))=x61 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x59))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(x59))), Main.Succ(x60), Main.Succ(x59))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x64))), Main.Zero, Main.Succ(x64))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) We simplified constraint (8) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x56), Main.Zero)))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x62, x61, x60, x59)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) which results in the following new constraints: (13) (new_primModNatS02(x80, x79)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x80 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x79 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) (14) (new_primModNatS02(x83, x82)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81)))))=x83 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x82 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x81)), Main.Succ(Main.Zero))))) (15) (new_primModNatS01(x87, x86, x85, x84)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85)))))=x87 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84))))=x86 & (\/x88:new_primModNatS01(x87, x86, x85, x84)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x88))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85))))=x87 & Main.Succ(Main.Succ(Main.Succ(x84)))=x86 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85)))), Main.Succ(Main.Succ(Main.Succ(x84))), Main.Succ(x85), Main.Succ(x84))))) ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))), Main.Succ(Main.Succ(x85)), Main.Succ(Main.Succ(x84)))))) (16) (Main.Succ(Main.Succ(x91))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x91 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89))))=x90 ==> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x89)))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x81)), Main.Succ(Main.Zero))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))), Main.Succ(Main.Succ(x85)), Main.Succ(Main.Succ(x84)))))) We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x89)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x49)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x49)))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x24))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x24))), Main.Zero, Main.Succ(x24))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x16)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x16), Main.Zero)))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x41))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x41)), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45)))))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))))_>=_new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x45))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))), Main.Succ(Main.Succ(x45)), Main.Succ(Main.Succ(x44)))))) *new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x89)))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(x89)))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x64))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(x64))), Main.Zero, Main.Succ(x64))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Zero)), Main.Zero, Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x56)))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(x56), Main.Zero)))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Zero), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x81))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(x81)), Main.Succ(Main.Zero))))) *(new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85)))))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))))_>=_new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x85))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x84)))), Main.Succ(Main.Succ(x85)), Main.Succ(Main.Succ(x84)))))) 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. ---------------------------------------- (502) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Pos(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) new_gcd0Gcd'(Main.Neg(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))), Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))))) -> new_gcd0Gcd'(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3)))))), Main.Neg(new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_primModNatS1(Main.Succ(x0), Main.Zero) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primModNatS1(Main.Zero, x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primMulNat(vx73100, Main.Succ(vx72100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (504) 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(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primMulNat(vx73100, Main.Succ(vx72100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (505) YES ---------------------------------------- (506) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, new_fromIntMyInt, vx77) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx68) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F3(Main.Succ(vx740), Main.Zero, vx73, vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0(vx78, vx79, Main.Neg(Main.Zero), vx77) -> new_pr2F31(Main.Succ(vx79), vx78, Main.Succ(vx79), vx77) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F3(Main.Succ(vx740), Main.Succ(vx85000), vx73, vx72) -> new_pr2F3(vx740, vx85000, vx73, vx72) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx68) new_pr2F(vx73, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Zero, vx73, Main.Zero, vx72) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0(vx78, vx79, Main.Neg(Main.Succ(vx8600)), vx77) -> new_pr2F3(vx8600, vx79, vx78, vx77) new_pr2F3(Main.Zero, Main.Zero, vx73, vx72) -> new_pr2F30(Main.Zero, vx73, Main.Zero, vx72) new_pr2F(vx73, Main.Zero, Main.Pos(Main.Succ(Main.Succ(vx85000))), vx72) -> new_pr2F31(Main.Succ(vx85000), vx73, Main.Succ(vx85000), vx72) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, new_fromIntMyInt, vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F3(Main.Zero, Main.Succ(vx85000), vx73, vx72) -> new_pr2F31(Main.Succ(vx85000), vx73, Main.Succ(vx85000), vx72) new_pr2F(vx73, vx74, Main.Pos(Main.Zero), vx72) -> new_pr2F30(Main.Succ(vx74), vx73, Main.Succ(vx74), vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Succ(vx85000))), vx72) -> new_pr2F3(vx740, vx85000, vx73, vx72) new_pr2F(vx73, vx74, Main.Neg(vx850), vx72) -> new_pr2F30(new_primPlusNat0(Main.Succ(vx74), vx850), vx73, new_primPlusNat0(Main.Succ(vx74), vx850), vx72) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 12 less nodes. ---------------------------------------- (508) Complex Obligation (AND) ---------------------------------------- (509) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, new_fromIntMyInt, vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (510) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero),new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero)) ---------------------------------------- (511) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, new_fromIntMyInt, vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (512) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (513) Complex Obligation (AND) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) 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. ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) 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_reduce2D1(x0, x1) new_fromIntMyInt new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt0(Main.Zero) new_gcd0(x0, x1) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_reduce2D0(x0, x1) new_primDivNatS1 new_primDivNatS2(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_gcd21(Main.Zero, Main.Zero) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error The set Q consists of the following terms: new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (521) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G1(vx68, vx44, Main.Zero) evaluates to t =new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vx44 / new_srRatio(vx44)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G1(vx68, vx44, Main.Zero) to new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero). ---------------------------------------- (522) NO ---------------------------------------- (523) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, new_fromIntMyInt, vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (524) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, new_fromIntMyInt, vx72) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72),new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72)) ---------------------------------------- (525) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (526) 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. ---------------------------------------- (527) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primDivNatS1 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (528) 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_fromIntMyInt ---------------------------------------- (529) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primDivNatS1 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (530) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), new_primDivNatS1) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero),new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero)) ---------------------------------------- (531) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) new_pr2F0G0(vx68, vx44, Main.Zero) -> new_pr2F0G1(vx68, new_srRatio(vx44), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primDivNatS1 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (532) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (533) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primDivNatS1 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (534) 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. ---------------------------------------- (535) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) The TRS R consists of the following rules: new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (536) 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_primDivNatS1 ---------------------------------------- (537) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) The TRS R consists of the following rules: new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (538) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F30(Main.Succ(vx880), vx73, vx87, vx72) -> new_pr2F0G0(new_srRatio0(vx73, vx72), vx73, vx87) we obtained the following new rules [LPAR04]: (new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srRatio0(z0, z2), z0, Main.Succ(z1)),new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srRatio0(z0, z2), z0, Main.Succ(z1))) ---------------------------------------- (539) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srRatio0(z0, z2), z0, Main.Succ(z1)) The TRS R consists of the following rules: new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (540) 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(Main.Pos(x_1)) = 1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 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_primDivNatS2(x_1)) = x_1 POL(new_primDivNatS3(x_1, x_2)) = x_1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_pr2F0G1(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 *new_pr2F0G10(vx72, vx73, vx74, Main.Zero) -> new_pr2F0G(vx72, new_srRatio(vx73), vx74) (allowed arguments on rhs = {1, 3}) The graph contains the following edges 1 >= 1, 3 >= 3 *new_pr2F0G(vx72, vx81, vx74) -> new_pr2F0G1(vx72, vx81, new_primDivNatS2(vx74)) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3 *new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Succ(vx7500))) -> new_pr2F0G10(vx72, vx73, vx74, vx7500) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 *new_pr2F0G10(vx72, vx73, vx74, Main.Succ(Main.Zero)) -> new_pr2F(vx73, vx74, Main.Pos(Main.Succ(Main.Zero)), vx72) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 2 >= 1, 3 >= 2, 1 >= 4 *new_pr2F0G0(vx68, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx68, vx44, Main.Succ(vx5900), vx5900) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 *new_pr2F(vx73, Main.Succ(vx740), Main.Pos(Main.Succ(Main.Zero)), vx72) -> new_pr2F30(Main.Succ(vx740), vx73, Main.Succ(vx740), vx72) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 2 >= 1, 1 >= 2, 2 >= 3, 4 >= 4 *new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srRatio0(z0, z2), z0, Main.Succ(z1)) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) ---------------------------------------- (541) YES ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, new_fromIntMyInt, vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, new_fromIntMyInt, vx77) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77),new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77)) ---------------------------------------- (544) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero),new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero)) ---------------------------------------- (546) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67),new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67)) ---------------------------------------- (548) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), new_primDivNatS1) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero),new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero)) ---------------------------------------- (550) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F32(vx620, vx50, Main.Zero, vx67) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (552) Complex Obligation (AND) ---------------------------------------- (553) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (554) 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. ---------------------------------------- (555) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (556) 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_reduce2D1(x0, x1) new_fromIntMyInt new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt0(Main.Zero) new_gcd0(x0, x1) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_reduce2D0(x0, x1) new_primDivNatS1 new_primDivNatS2(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_gcd21(Main.Zero, Main.Zero) ---------------------------------------- (557) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error The set Q consists of the following terms: new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (558) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (559) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Zero) -> new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) The TRS R consists of the following rules: new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (560) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G12(vx67, vx50, Main.Zero) evaluates to t =new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vx50 / new_srRatio(vx50)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G12(vx67, vx50, Main.Zero) to new_pr2F0G12(vx67, new_srRatio(vx50), Main.Zero). ---------------------------------------- (561) NO ---------------------------------------- (562) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (563) 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. ---------------------------------------- (564) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) The TRS R consists of the following rules: new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (565) 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_primDivNatS1 ---------------------------------------- (566) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) The TRS R consists of the following rules: new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (567) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx67) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67),new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67)) ---------------------------------------- (568) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (569) 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. ---------------------------------------- (570) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (571) 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_fromIntMyInt ---------------------------------------- (572) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (573) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F0(vx78, vx79, Main.Pos(vx860), vx77) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx79), vx860), vx78, new_primPlusNat0(Main.Succ(vx79), vx860), vx77) we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0)) (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (574) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (575) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (576) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (577) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (578) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (579) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0)) ---------------------------------------- (580) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (581) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (582) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (583) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0)) ---------------------------------------- (584) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (585) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0)) ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F31(Main.Succ(vx900), vx78, vx89, vx77) -> new_pr2F32(vx900, vx78, vx89, new_srRatio0(vx78, vx77)) we obtained the following new rules [LPAR04]: (new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)),new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2))) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)),new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1))) ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx67) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (593) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) the following chains were created: *We consider the chain new_pr2F0G11(x3, x4, x5, Main.Zero) -> new_pr2F0G2(x3, new_srRatio(x4), x5), new_pr2F0G2(x6, x7, x8) -> new_pr2F0G12(x6, x7, new_primDivNatS2(x8)) which results in the following constraint: (1) (new_pr2F0G2(x3, new_srRatio(x4), x5)=new_pr2F0G2(x6, x7, x8) ==> new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) For Pair new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) the following chains were created: *We consider the chain new_pr2F0G2(x42, x43, x44) -> new_pr2F0G12(x42, x43, new_primDivNatS2(x44)), new_pr2F0G12(x45, x46, Main.Succ(Main.Succ(x47))) -> new_pr2F0G11(x45, x46, Main.Succ(x47), x47) which results in the following constraint: (1) (new_pr2F0G12(x42, x43, new_primDivNatS2(x44))=new_pr2F0G12(x45, x46, Main.Succ(Main.Succ(x47))) ==> new_pr2F0G2(x42, x43, x44)_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(x44))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS2(x44)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, x44)_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(x44))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS2(x44)=Main.Succ(Main.Succ(x47)) which results in the following new constraint: (3) (new_primDivNatS01(x431, Main.Zero, x431, Main.Zero)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, Main.Succ(x431))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(x431)))) We simplified constraint (3) using rule (VII) which results in the following new constraint: (4) (Main.Zero=x432 & x431=x433 & Main.Zero=x434 & new_primDivNatS01(x431, x432, x433, x434)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, Main.Succ(x431))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(x431)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x431, x432, x433, x434)=Main.Succ(Main.Succ(x47)) which results in the following new constraints: (5) (new_primDivNatS02(x437, x436)=Main.Succ(Main.Succ(x47)) & Main.Zero=x436 & x437=Main.Succ(x435) & Main.Zero=Main.Zero ==> new_pr2F0G2(x42, x43, Main.Succ(x437))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(x437)))) (6) (new_primDivNatS02(x439, x438)=Main.Succ(Main.Succ(x47)) & Main.Zero=x438 & x439=Main.Zero & Main.Zero=Main.Zero ==> new_pr2F0G2(x42, x43, Main.Succ(x439))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(x439)))) (7) (new_primDivNatS01(x446, x445, x444, x443)=Main.Succ(Main.Succ(x47)) & Main.Zero=x445 & x446=Main.Succ(x444) & Main.Zero=Main.Succ(x443) & (\/x447,x448,x449:new_primDivNatS01(x446, x445, x444, x443)=Main.Succ(Main.Succ(x447)) & Main.Zero=x445 & x446=x444 & Main.Zero=x443 ==> new_pr2F0G2(x448, x449, Main.Succ(x446))_>=_new_pr2F0G12(x448, x449, new_primDivNatS2(Main.Succ(x446)))) ==> new_pr2F0G2(x42, x43, Main.Succ(x446))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(x446)))) We simplified constraint (5) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (8) (new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(x435)))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(Main.Succ(x435))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (new_pr2F0G2(x42, x43, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(Main.Zero)))) We solved constraint (7) using rules (I), (II). *We consider the chain new_pr2F0G2(x69, x70, x71) -> new_pr2F0G12(x69, x70, new_primDivNatS2(x71)), new_pr2F0G12(x72, x73, Main.Succ(Main.Zero)) -> new_pr2F0(x73, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x72) which results in the following constraint: (1) (new_pr2F0G12(x69, x70, new_primDivNatS2(x71))=new_pr2F0G12(x72, x73, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x69, x70, x71)_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(x71))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS2(x71)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, x71)_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(x71))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS2(x71)=Main.Succ(Main.Zero) which results in the following new constraint: (3) (new_primDivNatS01(x452, Main.Zero, x452, Main.Zero)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, Main.Succ(x452))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(x452)))) We simplified constraint (3) using rule (VII) which results in the following new constraint: (4) (Main.Zero=x453 & x452=x454 & Main.Zero=x455 & new_primDivNatS01(x452, x453, x454, x455)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, Main.Succ(x452))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(x452)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x452, x453, x454, x455)=Main.Succ(Main.Zero) which results in the following new constraints: (5) (new_primDivNatS02(x458, x457)=Main.Succ(Main.Zero) & Main.Zero=x457 & x458=Main.Succ(x456) & Main.Zero=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(x458))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(x458)))) (6) (new_primDivNatS02(x460, x459)=Main.Succ(Main.Zero) & Main.Zero=x459 & x460=Main.Zero & Main.Zero=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(x460))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(x460)))) (7) (new_primDivNatS01(x467, x466, x465, x464)=Main.Succ(Main.Zero) & Main.Zero=x466 & x467=Main.Succ(x465) & Main.Zero=Main.Succ(x464) & (\/x468,x469:new_primDivNatS01(x467, x466, x465, x464)=Main.Succ(Main.Zero) & Main.Zero=x466 & x467=x465 & Main.Zero=x464 ==> new_pr2F0G2(x468, x469, Main.Succ(x467))_>=_new_pr2F0G12(x468, x469, new_primDivNatS2(Main.Succ(x467)))) ==> new_pr2F0G2(x69, x70, Main.Succ(x467))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(x467)))) We simplified constraint (5) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (8) (new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(x456)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(Main.Succ(x456))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(Main.Zero)))) We solved constraint (7) using rules (I), (II). For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(x76))) -> new_pr2F0G11(x74, x75, Main.Succ(x76), x76), new_pr2F0G11(x77, x78, x79, Main.Zero) -> new_pr2F0G2(x77, new_srRatio(x78), x79) which results in the following constraint: (1) (new_pr2F0G11(x74, x75, Main.Succ(x76), x76)=new_pr2F0G11(x77, x78, x79, Main.Zero) ==> new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(x76)))_>=_new_pr2F0G11(x74, x75, Main.Succ(x76), x76)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(x88))) -> new_pr2F0G11(x86, x87, Main.Succ(x88), x88), new_pr2F0G11(x89, x90, x91, Main.Succ(Main.Succ(x92))) -> new_pr2F0G11(x89, x90, x91, x92) which results in the following constraint: (1) (new_pr2F0G11(x86, x87, Main.Succ(x88), x88)=new_pr2F0G11(x89, x90, x91, Main.Succ(Main.Succ(x92))) ==> new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(x88)))_>=_new_pr2F0G11(x86, x87, Main.Succ(x88), x88)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x92)))))_>=_new_pr2F0G11(x86, x87, Main.Succ(Main.Succ(Main.Succ(x92))), Main.Succ(Main.Succ(x92)))) *We consider the chain new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(x95))) -> new_pr2F0G11(x93, x94, Main.Succ(x95), x95), new_pr2F0G11(x96, x97, x98, Main.Succ(Main.Zero)) -> new_pr2F0(x97, x98, Main.Pos(Main.Succ(Main.Zero)), x96) which results in the following constraint: (1) (new_pr2F0G11(x93, x94, Main.Succ(x95), x95)=new_pr2F0G11(x96, x97, x98, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(x95)))_>=_new_pr2F0G11(x93, x94, Main.Succ(x95), x95)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x93, x94, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) the following chains were created: *We consider the chain new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(x120))) -> new_pr2F0G11(x117, x118, x119, x120), new_pr2F0G11(x121, x122, x123, Main.Zero) -> new_pr2F0G2(x121, new_srRatio(x122), x123) which results in the following constraint: (1) (new_pr2F0G11(x117, x118, x119, x120)=new_pr2F0G11(x121, x122, x123, Main.Zero) ==> new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(x120)))_>=_new_pr2F0G11(x117, x118, x119, x120)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) *We consider the chain new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x135))) -> new_pr2F0G11(x132, x133, x134, x135), new_pr2F0G11(x136, x137, x138, Main.Succ(Main.Succ(x139))) -> new_pr2F0G11(x136, x137, x138, x139) which results in the following constraint: (1) (new_pr2F0G11(x132, x133, x134, x135)=new_pr2F0G11(x136, x137, x138, Main.Succ(Main.Succ(x139))) ==> new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x135)))_>=_new_pr2F0G11(x132, x133, x134, x135)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x139)))))_>=_new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x139)))) *We consider the chain new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(x143))) -> new_pr2F0G11(x140, x141, x142, x143), new_pr2F0G11(x144, x145, x146, Main.Succ(Main.Zero)) -> new_pr2F0(x145, x146, Main.Pos(Main.Succ(Main.Zero)), x144) which results in the following constraint: (1) (new_pr2F0G11(x140, x141, x142, x143)=new_pr2F0G11(x144, x145, x146, Main.Succ(Main.Zero)) ==> new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(x143)))_>=_new_pr2F0G11(x140, x141, x142, x143)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) the following chains were created: *We consider the chain new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero)) -> new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186), new_pr2F0(x189, x190, Main.Pos(Main.Succ(Main.Zero)), x191) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x190, Main.Zero))), x189, Main.Succ(Main.Succ(new_primPlusNat0(x190, Main.Zero))), x191) which results in the following constraint: (1) (new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)=new_pr2F0(x189, x190, Main.Pos(Main.Succ(Main.Zero)), x191) ==> new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) *We consider the chain new_pr2F0G11(x201, x202, x203, Main.Succ(Main.Zero)) -> new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201), new_pr2F0(x204, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x205) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x204, Main.Succ(Main.Succ(Main.Zero)), x205) which results in the following constraint: (1) (new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201)=new_pr2F0(x204, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x205) ==> new_pr2F0G11(x201, x202, x203, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229), new_pr2F31(Main.Succ(Main.Succ(x230)), x231, Main.Succ(Main.Succ(x232)), x233) -> new_pr2F32(Main.Succ(x230), x231, Main.Succ(Main.Succ(x232)), new_srRatio0(x231, x233)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)=new_pr2F31(Main.Succ(Main.Succ(x230)), x231, Main.Succ(Main.Succ(x232)), x233) ==> new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) *We consider the chain new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x240, Main.Succ(Main.Succ(Main.Zero)), x241) -> new_pr2F32(Main.Succ(Main.Zero), x240, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x240, x241)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x240, Main.Succ(Main.Succ(Main.Zero)), x241) ==> new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x472 & new_primPlusNat0(x238, x472)=Main.Zero ==> new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x238, x472)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279) -> new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srRatio0(x277, x279)), new_pr2F32(x280, x281, Main.Succ(Main.Succ(x282)), x283) -> new_pr2F0G11(x283, x281, Main.Succ(x282), x282) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srRatio0(x277, x279))=new_pr2F32(x280, x281, Main.Succ(Main.Succ(x282)), x283) ==> new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srRatio0(x277, x279))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srRatio0(x277, x279))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x296, x297, Main.Succ(Main.Succ(x298)), x299) -> new_pr2F0G11(x299, x297, Main.Succ(x298), x298), new_pr2F0G11(x300, x301, x302, Main.Zero) -> new_pr2F0G2(x300, new_srRatio(x301), x302) which results in the following constraint: (1) (new_pr2F0G11(x299, x297, Main.Succ(x298), x298)=new_pr2F0G11(x300, x301, x302, Main.Zero) ==> new_pr2F32(x296, x297, Main.Succ(Main.Succ(x298)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(x298), x298)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x311, x312, Main.Succ(Main.Succ(x313)), x314) -> new_pr2F0G11(x314, x312, Main.Succ(x313), x313), new_pr2F0G11(x315, x316, x317, Main.Succ(Main.Succ(x318))) -> new_pr2F0G11(x315, x316, x317, x318) which results in the following constraint: (1) (new_pr2F0G11(x314, x312, Main.Succ(x313), x313)=new_pr2F0G11(x315, x316, x317, Main.Succ(Main.Succ(x318))) ==> new_pr2F32(x311, x312, Main.Succ(Main.Succ(x313)), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(x313), x313)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x311, x312, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x318)))), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(Main.Succ(Main.Succ(x318))), Main.Succ(Main.Succ(x318)))) *We consider the chain new_pr2F32(x319, x320, Main.Succ(Main.Succ(x321)), x322) -> new_pr2F0G11(x322, x320, Main.Succ(x321), x321), new_pr2F0G11(x323, x324, x325, Main.Succ(Main.Zero)) -> new_pr2F0(x324, x325, Main.Pos(Main.Succ(Main.Zero)), x323) which results in the following constraint: (1) (new_pr2F0G11(x322, x320, Main.Succ(x321), x321)=new_pr2F0G11(x323, x324, x325, Main.Succ(Main.Zero)) ==> new_pr2F32(x319, x320, Main.Succ(Main.Succ(x321)), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(x321), x321)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x319, x320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365) -> new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x364, x365)), new_pr2F32(x366, x367, Main.Succ(Main.Succ(x368)), x369) -> new_pr2F0G11(x369, x367, Main.Succ(x368), x368) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x364, x365))=new_pr2F32(x366, x367, Main.Succ(Main.Succ(x368)), x369) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x364, x365))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x364, x365))) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389), new_pr2F31(Main.Succ(Main.Succ(x390)), x391, Main.Succ(Main.Succ(x392)), x393) -> new_pr2F32(Main.Succ(x390), x391, Main.Succ(Main.Succ(x392)), new_srRatio0(x391, x393)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)=new_pr2F31(Main.Succ(Main.Succ(x390)), x391, Main.Succ(Main.Succ(x392)), x393) ==> new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) *We consider the chain new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x398, Main.Succ(Main.Succ(Main.Zero)), x399) -> new_pr2F32(Main.Succ(Main.Zero), x398, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x398, x399)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x398, Main.Succ(Main.Succ(Main.Zero)), x399) ==> new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) the following chains were created: *We consider the chain new_pr2F0G12(x414, x415, Main.Succ(Main.Zero)) -> new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414), new_pr2F0(x416, x417, Main.Pos(Main.Succ(Main.Zero)), x418) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x417, Main.Zero))), x416, Main.Succ(Main.Succ(new_primPlusNat0(x417, Main.Zero))), x418) which results in the following constraint: (1) (new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)=new_pr2F0(x416, x417, Main.Pos(Main.Succ(Main.Zero)), x418) ==> new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) *We consider the chain new_pr2F0G12(x425, x426, Main.Succ(Main.Zero)) -> new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425), new_pr2F0(x427, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x428) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x427, Main.Succ(Main.Succ(Main.Zero)), x428) which results in the following constraint: (1) (new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)=new_pr2F0(x427, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x428) ==> new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) *new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) *(new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(x435)))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(Main.Succ(x435))))) *(new_pr2F0G2(x42, x43, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x42, x43, new_primDivNatS2(Main.Succ(Main.Zero)))) *(new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(x456)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(Main.Succ(x456))))) *(new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS2(Main.Succ(Main.Zero)))) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x92)))))_>=_new_pr2F0G11(x86, x87, Main.Succ(Main.Succ(Main.Succ(x92))), Main.Succ(Main.Succ(x92)))) *(new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x93, x94, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) *(new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) *(new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x139)))))_>=_new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x139)))) *(new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) *new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) *(new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) *(new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) *(new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srRatio0(x277, x279))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x311, x312, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x318)))), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(Main.Succ(Main.Succ(x318))), Main.Succ(Main.Succ(x318)))) *(new_pr2F32(x319, x320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x364, x365))) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) *(new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) *(new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) *(new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) was transformed to the following new rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) the following new pairs maintain the fan-in: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following new pairs maintain the fan-out: H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) ---------------------------------------- (596) Complex Obligation (AND) ---------------------------------------- (597) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (598) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (599) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (600) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) the following chains were created: *We consider the chain new_pr2F0G11(x3, x4, x5, Main.Zero) -> new_pr2F0G2(x3, new_srRatio(x4), x5), new_pr2F0G2(x6, x7, x8) -> new_pr2F0G12(x6, x7, new_primDivNatS2(x8)) which results in the following constraint: (1) (new_pr2F0G2(x3, new_srRatio(x4), x5)=new_pr2F0G2(x6, x7, x8) ==> new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) For Pair new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) the following chains were created: *We consider the chain new_pr2F0G2(x51, x52, x53) -> new_pr2F0G12(x51, x52, new_primDivNatS2(x53)), new_pr2F0G12(x54, x55, Main.Succ(Main.Succ(x56))) -> new_pr2F0G11(x54, x55, Main.Succ(x56), x56) which results in the following constraint: (1) (new_pr2F0G12(x51, x52, new_primDivNatS2(x53))=new_pr2F0G12(x54, x55, Main.Succ(Main.Succ(x56))) ==> new_pr2F0G2(x51, x52, x53)_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(x53))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS2(x53)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, x53)_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(x53))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS2(x53)=Main.Succ(Main.Succ(x56)) which results in the following new constraint: (3) (new_primDivNatS01(x667, Main.Zero, x667, Main.Zero)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, Main.Succ(x667))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(x667)))) We simplified constraint (3) using rule (VII) which results in the following new constraint: (4) (Main.Zero=x668 & x667=x669 & Main.Zero=x670 & new_primDivNatS01(x667, x668, x669, x670)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, Main.Succ(x667))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(x667)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x667, x668, x669, x670)=Main.Succ(Main.Succ(x56)) which results in the following new constraints: (5) (new_primDivNatS02(x673, x672)=Main.Succ(Main.Succ(x56)) & Main.Zero=x672 & x673=Main.Succ(x671) & Main.Zero=Main.Zero ==> new_pr2F0G2(x51, x52, Main.Succ(x673))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(x673)))) (6) (new_primDivNatS02(x675, x674)=Main.Succ(Main.Succ(x56)) & Main.Zero=x674 & x675=Main.Zero & Main.Zero=Main.Zero ==> new_pr2F0G2(x51, x52, Main.Succ(x675))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(x675)))) (7) (new_primDivNatS01(x682, x681, x680, x679)=Main.Succ(Main.Succ(x56)) & Main.Zero=x681 & x682=Main.Succ(x680) & Main.Zero=Main.Succ(x679) & (\/x683,x684,x685:new_primDivNatS01(x682, x681, x680, x679)=Main.Succ(Main.Succ(x683)) & Main.Zero=x681 & x682=x680 & Main.Zero=x679 ==> new_pr2F0G2(x684, x685, Main.Succ(x682))_>=_new_pr2F0G12(x684, x685, new_primDivNatS2(Main.Succ(x682)))) ==> new_pr2F0G2(x51, x52, Main.Succ(x682))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(x682)))) We simplified constraint (5) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (8) (new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(x671)))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(Main.Succ(x671))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (new_pr2F0G2(x51, x52, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(Main.Zero)))) We solved constraint (7) using rules (I), (II). *We consider the chain new_pr2F0G2(x75, x76, x77) -> new_pr2F0G12(x75, x76, new_primDivNatS2(x77)), new_pr2F0G12(x78, x79, Main.Succ(Main.Zero)) -> new_pr2F0(x79, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x78) which results in the following constraint: (1) (new_pr2F0G12(x75, x76, new_primDivNatS2(x77))=new_pr2F0G12(x78, x79, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x75, x76, x77)_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(x77))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS2(x77)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, x77)_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(x77))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS2(x77)=Main.Succ(Main.Zero) which results in the following new constraint: (3) (new_primDivNatS01(x688, Main.Zero, x688, Main.Zero)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, Main.Succ(x688))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(x688)))) We simplified constraint (3) using rule (VII) which results in the following new constraint: (4) (Main.Zero=x689 & x688=x690 & Main.Zero=x691 & new_primDivNatS01(x688, x689, x690, x691)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, Main.Succ(x688))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(x688)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x688, x689, x690, x691)=Main.Succ(Main.Zero) which results in the following new constraints: (5) (new_primDivNatS02(x694, x693)=Main.Succ(Main.Zero) & Main.Zero=x693 & x694=Main.Succ(x692) & Main.Zero=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(x694))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(x694)))) (6) (new_primDivNatS02(x696, x695)=Main.Succ(Main.Zero) & Main.Zero=x695 & x696=Main.Zero & Main.Zero=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(x696))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(x696)))) (7) (new_primDivNatS01(x703, x702, x701, x700)=Main.Succ(Main.Zero) & Main.Zero=x702 & x703=Main.Succ(x701) & Main.Zero=Main.Succ(x700) & (\/x704,x705:new_primDivNatS01(x703, x702, x701, x700)=Main.Succ(Main.Zero) & Main.Zero=x702 & x703=x701 & Main.Zero=x700 ==> new_pr2F0G2(x704, x705, Main.Succ(x703))_>=_new_pr2F0G12(x704, x705, new_primDivNatS2(Main.Succ(x703)))) ==> new_pr2F0G2(x75, x76, Main.Succ(x703))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(x703)))) We simplified constraint (5) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (8) (new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(x692)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(Main.Succ(x692))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(Main.Zero)))) We solved constraint (7) using rules (I), (II). *We consider the chain new_pr2F0G2(x80, x81, x82) -> new_pr2F0G12(x80, x81, new_primDivNatS2(x82)), new_pr2F0G12(x83, x84, Main.Succ(Main.Succ(x85))) -> H(x83, x84, Main.Succ(x85), anew_new_pr2F0G11(x85)) which results in the following constraint: (1) (new_pr2F0G12(x80, x81, new_primDivNatS2(x82))=new_pr2F0G12(x83, x84, Main.Succ(Main.Succ(x85))) ==> new_pr2F0G2(x80, x81, x82)_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(x82))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS2(x82)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, x82)_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(x82))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS2(x82)=Main.Succ(Main.Succ(x85)) which results in the following new constraint: (3) (new_primDivNatS01(x708, Main.Zero, x708, Main.Zero)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, Main.Succ(x708))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(x708)))) We simplified constraint (3) using rule (VII) which results in the following new constraint: (4) (Main.Zero=x709 & x708=x710 & Main.Zero=x711 & new_primDivNatS01(x708, x709, x710, x711)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, Main.Succ(x708))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(x708)))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS01(x708, x709, x710, x711)=Main.Succ(Main.Succ(x85)) which results in the following new constraints: (5) (new_primDivNatS02(x714, x713)=Main.Succ(Main.Succ(x85)) & Main.Zero=x713 & x714=Main.Succ(x712) & Main.Zero=Main.Zero ==> new_pr2F0G2(x80, x81, Main.Succ(x714))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(x714)))) (6) (new_primDivNatS02(x716, x715)=Main.Succ(Main.Succ(x85)) & Main.Zero=x715 & x716=Main.Zero & Main.Zero=Main.Zero ==> new_pr2F0G2(x80, x81, Main.Succ(x716))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(x716)))) (7) (new_primDivNatS01(x723, x722, x721, x720)=Main.Succ(Main.Succ(x85)) & Main.Zero=x722 & x723=Main.Succ(x721) & Main.Zero=Main.Succ(x720) & (\/x724,x725,x726:new_primDivNatS01(x723, x722, x721, x720)=Main.Succ(Main.Succ(x724)) & Main.Zero=x722 & x723=x721 & Main.Zero=x720 ==> new_pr2F0G2(x725, x726, Main.Succ(x723))_>=_new_pr2F0G12(x725, x726, new_primDivNatS2(Main.Succ(x723)))) ==> new_pr2F0G2(x80, x81, Main.Succ(x723))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(x723)))) We simplified constraint (5) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (8) (new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(x712)))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(Main.Succ(x712))))) We simplified constraint (6) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (9) (new_pr2F0G2(x80, x81, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(Main.Zero)))) We solved constraint (7) using rules (I), (II). For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(x97))) -> new_pr2F0G11(x95, x96, Main.Succ(x97), x97), new_pr2F0G11(x98, x99, x100, Main.Zero) -> new_pr2F0G2(x98, new_srRatio(x99), x100) which results in the following constraint: (1) (new_pr2F0G11(x95, x96, Main.Succ(x97), x97)=new_pr2F0G11(x98, x99, x100, Main.Zero) ==> new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(x97)))_>=_new_pr2F0G11(x95, x96, Main.Succ(x97), x97)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(x109))) -> new_pr2F0G11(x107, x108, Main.Succ(x109), x109), new_pr2F0G11(x110, x111, x112, Main.Succ(Main.Zero)) -> new_pr2F0(x111, x112, Main.Pos(Main.Succ(Main.Zero)), x110) which results in the following constraint: (1) (new_pr2F0G11(x107, x108, Main.Succ(x109), x109)=new_pr2F0G11(x110, x111, x112, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(x109)))_>=_new_pr2F0G11(x107, x108, Main.Succ(x109), x109)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x107, x108, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) the following chains were created: *We consider the chain new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero)) -> new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155), new_pr2F0(x158, x159, Main.Pos(Main.Succ(Main.Zero)), x160) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x159, Main.Zero))), x158, Main.Succ(Main.Succ(new_primPlusNat0(x159, Main.Zero))), x160) which results in the following constraint: (1) (new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)=new_pr2F0(x158, x159, Main.Pos(Main.Succ(Main.Zero)), x160) ==> new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) *We consider the chain new_pr2F0G11(x170, x171, x172, Main.Succ(Main.Zero)) -> new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170), new_pr2F0(x173, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x174) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x173, Main.Succ(Main.Succ(Main.Zero)), x174) which results in the following constraint: (1) (new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170)=new_pr2F0(x173, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x174) ==> new_pr2F0G11(x170, x171, x172, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207), new_pr2F31(Main.Succ(Main.Succ(x208)), x209, Main.Succ(Main.Succ(x210)), x211) -> new_pr2F32(Main.Succ(x208), x209, Main.Succ(Main.Succ(x210)), new_srRatio0(x209, x211)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)=new_pr2F31(Main.Succ(Main.Succ(x208)), x209, Main.Succ(Main.Succ(x210)), x211) ==> new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) *We consider the chain new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x218, Main.Succ(Main.Succ(Main.Zero)), x219) -> new_pr2F32(Main.Succ(Main.Zero), x218, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x218, x219)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x218, Main.Succ(Main.Succ(Main.Zero)), x219) ==> new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x729 & new_primPlusNat0(x216, x729)=Main.Zero ==> new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x216, x729)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265) -> new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srRatio0(x263, x265)), new_pr2F32(x266, x267, Main.Succ(Main.Succ(x268)), x269) -> new_pr2F0G11(x269, x267, Main.Succ(x268), x268) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srRatio0(x263, x265))=new_pr2F32(x266, x267, Main.Succ(Main.Succ(x268)), x269) ==> new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srRatio0(x263, x265))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srRatio0(x263, x265))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289) -> new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srRatio0(x287, x289)), new_pr2F32(x290, x291, Main.Succ(Main.Succ(x292)), x293) -> H(x293, x291, Main.Succ(x292), anew_new_pr2F0G11(x292)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srRatio0(x287, x289))=new_pr2F32(x290, x291, Main.Succ(Main.Succ(x292)), x293) ==> new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srRatio0(x287, x289))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srRatio0(x287, x289))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x302, x303, Main.Succ(Main.Succ(x304)), x305) -> new_pr2F0G11(x305, x303, Main.Succ(x304), x304), new_pr2F0G11(x306, x307, x308, Main.Zero) -> new_pr2F0G2(x306, new_srRatio(x307), x308) which results in the following constraint: (1) (new_pr2F0G11(x305, x303, Main.Succ(x304), x304)=new_pr2F0G11(x306, x307, x308, Main.Zero) ==> new_pr2F32(x302, x303, Main.Succ(Main.Succ(x304)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(x304), x304)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x317, x318, Main.Succ(Main.Succ(x319)), x320) -> new_pr2F0G11(x320, x318, Main.Succ(x319), x319), new_pr2F0G11(x321, x322, x323, Main.Succ(Main.Zero)) -> new_pr2F0(x322, x323, Main.Pos(Main.Succ(Main.Zero)), x321) which results in the following constraint: (1) (new_pr2F0G11(x320, x318, Main.Succ(x319), x319)=new_pr2F0G11(x321, x322, x323, Main.Succ(Main.Zero)) ==> new_pr2F32(x317, x318, Main.Succ(Main.Succ(x319)), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(x319), x319)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x317, x318, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377) -> new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x376, x377)), new_pr2F32(x378, x379, Main.Succ(Main.Succ(x380)), x381) -> new_pr2F0G11(x381, x379, Main.Succ(x380), x380) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x376, x377))=new_pr2F32(x378, x379, Main.Succ(Main.Succ(x380)), x381) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x376, x377))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x376, x377))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391) -> new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x390, x391)), new_pr2F32(x392, x393, Main.Succ(Main.Succ(x394)), x395) -> H(x395, x393, Main.Succ(x394), anew_new_pr2F0G11(x394)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x390, x391))=new_pr2F32(x392, x393, Main.Succ(Main.Succ(x394)), x395) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x390, x391))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x390, x391))) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411), new_pr2F31(Main.Succ(Main.Succ(x412)), x413, Main.Succ(Main.Succ(x414)), x415) -> new_pr2F32(Main.Succ(x412), x413, Main.Succ(Main.Succ(x414)), new_srRatio0(x413, x415)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)=new_pr2F31(Main.Succ(Main.Succ(x412)), x413, Main.Succ(Main.Succ(x414)), x415) ==> new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) *We consider the chain new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x420, Main.Succ(Main.Succ(Main.Zero)), x421) -> new_pr2F32(Main.Succ(Main.Zero), x420, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x420, x421)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x420, Main.Succ(Main.Succ(Main.Zero)), x421) ==> new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) the following chains were created: *We consider the chain new_pr2F0G12(x442, x443, Main.Succ(Main.Zero)) -> new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442), new_pr2F0(x444, x445, Main.Pos(Main.Succ(Main.Zero)), x446) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x445, Main.Zero))), x444, Main.Succ(Main.Succ(new_primPlusNat0(x445, Main.Zero))), x446) which results in the following constraint: (1) (new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)=new_pr2F0(x444, x445, Main.Pos(Main.Succ(Main.Zero)), x446) ==> new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) *We consider the chain new_pr2F0G12(x453, x454, Main.Succ(Main.Zero)) -> new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453), new_pr2F0(x455, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x456) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x455, Main.Succ(Main.Succ(Main.Zero)), x456) which results in the following constraint: (1) (new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)=new_pr2F0(x455, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x456) ==> new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following chains were created: *We consider the chain new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505))) -> H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505)), H(x506, x507, x508, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x506, x507, x508, Main.Zero) which results in the following constraint: (1) (H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))=H(x506, x507, x508, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505)))_>=_H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x505)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505)))_>=_H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x505)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraint: (3) (new_new_pr2F0G11(x734)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x734)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x734))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x734))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x734)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (4) (new_new_pr2F0G11(x735)=cons_new_pr2F0G11(Main.Zero) & (\/x736,x737:new_new_pr2F0G11(x735)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x736, x737, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))_>=_H(x736, x737, Main.Succ(Main.Succ(Main.Succ(x735))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x735))))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x736,x737:new_new_pr2F0G11(x735)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x736, x737, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))_>=_H(x736, x737, Main.Succ(Main.Succ(Main.Succ(x735))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x735))))) with sigma = [x736 / x503, x737 / x504] which results in the following new constraint: (7) (new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x735))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x735)))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511))) -> H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511)), H(x512, x513, x514, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x512, x513, x514, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))=H(x512, x513, x514, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511)))_>=_H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x511)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511)))_>=_H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x511)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraint: (3) (new_new_pr2F0G11(x738)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x738)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x738))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x738))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x738)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (4) (new_new_pr2F0G11(x739)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x740,x741:new_new_pr2F0G11(x739)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x740, x741, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))_>=_H(x740, x741, Main.Succ(Main.Succ(Main.Succ(x739))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x739))))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x740,x741:new_new_pr2F0G11(x739)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x740, x741, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))_>=_H(x740, x741, Main.Succ(Main.Succ(Main.Succ(x739))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x739))))) with sigma = [x740 / x509, x741 / x510] which results in the following new constraint: (7) (new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x739))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x739)))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following chains were created: *We consider the chain new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566) -> H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565)), H(x567, x568, x569, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x567, x568, x569, Main.Zero) which results in the following constraint: (1) (H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))=H(x567, x568, x569, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566)_>=_H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x565)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566)_>=_H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x565)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraint: (3) (new_new_pr2F0G11(x742)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x742)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x742))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x742))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x742)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (4) (new_new_pr2F0G11(x743)=cons_new_pr2F0G11(Main.Zero) & (\/x744,x745,x746:new_new_pr2F0G11(x743)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x744, x745, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))), x746)_>=_H(x746, x745, Main.Succ(Main.Succ(Main.Succ(x743))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x743))))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x744,x745,x746:new_new_pr2F0G11(x743)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x744, x745, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))), x746)_>=_H(x746, x745, Main.Succ(Main.Succ(Main.Succ(x743))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x743))))) with sigma = [x744 / x563, x745 / x564, x746 / x566] which results in the following new constraint: (7) (new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x743))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x743)))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573) -> H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572)), H(x574, x575, x576, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x574, x575, x576, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))=H(x574, x575, x576, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573)_>=_H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x572)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573)_>=_H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x572)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraint: (3) (new_new_pr2F0G11(x747)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x747)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x747))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x747))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x747)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (4) (new_new_pr2F0G11(x748)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x749,x750,x751:new_new_pr2F0G11(x748)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x749, x750, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))), x751)_>=_H(x751, x750, Main.Succ(Main.Succ(Main.Succ(x748))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x748))))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x749,x750,x751:new_new_pr2F0G11(x748)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x749, x750, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))), x751)_>=_H(x751, x750, Main.Succ(Main.Succ(Main.Succ(x748))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x748))))) with sigma = [x749 / x570, x750 / x571, x751 / x573] which results in the following new constraint: (7) (new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x748))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x748)))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) For Pair H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) the following chains were created: *We consider the chain H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x577, x578, x579, Main.Zero), new_pr2F0G11(x580, x581, x582, Main.Zero) -> new_pr2F0G2(x580, new_srRatio(x581), x582) which results in the following constraint: (1) (new_pr2F0G11(x577, x578, x579, Main.Zero)=new_pr2F0G11(x580, x581, x582, Main.Zero) ==> H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) For Pair H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero)), new_pr2F0G11(x634, x635, x636, Main.Succ(Main.Zero)) -> new_pr2F0(x635, x636, Main.Pos(Main.Succ(Main.Zero)), x634) which results in the following constraint: (1) (new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))=new_pr2F0G11(x634, x635, x636, Main.Succ(Main.Zero)) ==> H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srRatio(x4), x5)) *new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) *(new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(x671)))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(Main.Succ(x671))))) *(new_pr2F0G2(x51, x52, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x51, x52, new_primDivNatS2(Main.Succ(Main.Zero)))) *(new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(x692)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(Main.Succ(x692))))) *(new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS2(Main.Succ(Main.Zero)))) *(new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(x712)))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(Main.Succ(x712))))) *(new_pr2F0G2(x80, x81, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x80, x81, new_primDivNatS2(Main.Succ(Main.Zero)))) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x107, x108, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) *(new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) *(new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) *(new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srRatio0(x263, x265))) *(new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srRatio0(x287, x289))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x317, x318, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x376, x377))) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x390, x391))) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) *(new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) *(new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) *(new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) *(new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x735))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x735)))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x735))))))) *(new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) *(new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x739))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x739)))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x739))))))) *(new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) *(new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x743))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x743)))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x743))))))) *(new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) *(new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x748))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x748)))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x748))))))) *(new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) *(H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) *H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) *(H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.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. ---------------------------------------- (601) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (602) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(vx77, vx82, vx79) -> new_pr2F0G12(vx77, vx82, new_primDivNatS2(vx79)) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero),new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero)) (new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))) ---------------------------------------- (603) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero) new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (604) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (605) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) The TRS R consists of the following rules: new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primDivNatS2(Main.Zero) -> Main.Zero new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (606) 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. ---------------------------------------- (607) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (608) 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(Main.Succ(x0)) new_primDivNatS2(Main.Zero) ---------------------------------------- (609) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (610) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(x0)) -> new_pr2F0G12(y0, y1, new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Succ(x2), Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Succ(x2), Main.Zero))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Zero, Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Zero, Main.Zero))) ---------------------------------------- (611) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Succ(x2), Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Zero, Main.Zero)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (612) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Succ(x2), Main.Zero)) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero)))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (613) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Zero, Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (614) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, new_primDivNatS02(Main.Zero, Main.Zero)) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) ---------------------------------------- (615) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (616) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero)))) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) ---------------------------------------- (617) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (618) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero)))),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero))))) ---------------------------------------- (619) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero)))) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (620) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero)))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero))) ---------------------------------------- (621) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (622) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0))) ---------------------------------------- (623) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (624) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx67, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0))) ---------------------------------------- (625) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (626) 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. ---------------------------------------- (627) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (628) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) ---------------------------------------- (629) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (630) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x2))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero)))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero))) ---------------------------------------- (631) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (632) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (633) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (634) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (635) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (636) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS01(x0, Main.Zero, x0, Main.Zero))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Succ(x2), Main.Zero))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Succ(x2), Main.Zero)))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Zero, Main.Zero))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Zero, Main.Zero)))) ---------------------------------------- (637) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Succ(x2), Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Zero, Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (638) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Succ(x2), Main.Zero))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero))))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero)))))) ---------------------------------------- (639) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Zero, Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (640) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS02(Main.Zero, Main.Zero))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero)))))) ---------------------------------------- (641) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (642) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Succ(x2), Main.Zero), Main.Succ(Main.Zero))))) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero)))))) ---------------------------------------- (643) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (644) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(new_primMinusNatS0(Main.Zero, Main.Zero), Main.Succ(Main.Zero))))) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero))))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero)))))) ---------------------------------------- (645) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero))))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (646) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Zero, Main.Succ(Main.Zero))))) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero)))) ---------------------------------------- (647) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (648) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (649) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (650) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (651) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (652) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (653) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (654) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (655) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (656) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (657) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (658) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x3, x4, Main.Succ(Main.Succ(x5))) -> new_pr2F0G11(x3, x4, Main.Succ(x5), x5), new_pr2F0G11(x6, x7, x8, Main.Zero) -> new_pr2F0G2(x6, new_srRatio(x7), x8) which results in the following constraint: (1) (new_pr2F0G11(x3, x4, Main.Succ(x5), x5)=new_pr2F0G11(x6, x7, x8, Main.Zero) ==> new_pr2F0G12(x3, x4, Main.Succ(Main.Succ(x5)))_>=_new_pr2F0G11(x3, x4, Main.Succ(x5), x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x3, x4, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x3, x4, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x9, x10, Main.Succ(Main.Succ(x11))) -> new_pr2F0G11(x9, x10, Main.Succ(x11), x11), new_pr2F0G11(x12, x13, x14, Main.Succ(Main.Zero)) -> new_pr2F0(x13, x14, Main.Pos(Main.Succ(Main.Zero)), x12) which results in the following constraint: (1) (new_pr2F0G11(x9, x10, Main.Succ(x11), x11)=new_pr2F0G11(x12, x13, x14, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x9, x10, Main.Succ(Main.Succ(x11)))_>=_new_pr2F0G11(x9, x10, Main.Succ(x11), x11)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x9, x10, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x9, x10, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) the following chains were created: *We consider the chain new_pr2F0G11(x126, x127, x128, Main.Zero) -> new_pr2F0G2(x126, new_srRatio(x127), x128), new_pr2F0G2(x129, x130, Main.Succ(Main.Zero)) -> new_pr2F0G12(x129, x130, Main.Succ(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G2(x126, new_srRatio(x127), x128)=new_pr2F0G2(x129, x130, Main.Succ(Main.Zero)) ==> new_pr2F0G11(x126, x127, x128, Main.Zero)_>=_new_pr2F0G2(x126, new_srRatio(x127), x128)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x126, x127, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x126, new_srRatio(x127), Main.Succ(Main.Zero))) *We consider the chain new_pr2F0G11(x131, x132, x133, Main.Zero) -> new_pr2F0G2(x131, new_srRatio(x132), x133), new_pr2F0G2(x134, x135, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(x134, x135, Main.Succ(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G2(x131, new_srRatio(x132), x133)=new_pr2F0G2(x134, x135, Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G11(x131, x132, x133, Main.Zero)_>=_new_pr2F0G2(x131, new_srRatio(x132), x133)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x131, x132, Main.Succ(Main.Succ(Main.Zero)), Main.Zero)_>=_new_pr2F0G2(x131, new_srRatio(x132), Main.Succ(Main.Succ(Main.Zero)))) *We consider the chain new_pr2F0G11(x148, x149, x150, Main.Zero) -> new_pr2F0G2(x148, new_srRatio(x149), x150), new_pr2F0G2(x151, x152, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153))))) -> new_pr2F0G12(x151, x152, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x153), Main.Succ(Main.Zero))))) which results in the following constraint: (1) (new_pr2F0G2(x148, new_srRatio(x149), x150)=new_pr2F0G2(x151, x152, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153))))) ==> new_pr2F0G11(x148, x149, x150, Main.Zero)_>=_new_pr2F0G2(x148, new_srRatio(x149), x150)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x148, x149, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153)))), Main.Zero)_>=_new_pr2F0G2(x148, new_srRatio(x149), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153)))))) *We consider the chain new_pr2F0G11(x154, x155, x156, Main.Zero) -> new_pr2F0G2(x154, new_srRatio(x155), x156), new_pr2F0G2(x157, x158, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(x157, x158, Main.Succ(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G2(x154, new_srRatio(x155), x156)=new_pr2F0G2(x157, x158, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G11(x154, x155, x156, Main.Zero)_>=_new_pr2F0G2(x154, new_srRatio(x155), x156)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x154, x155, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Zero)_>=_new_pr2F0G2(x154, new_srRatio(x155), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) For Pair new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) the following chains were created: *We consider the chain new_pr2F0G11(x198, x199, x200, Main.Succ(Main.Zero)) -> new_pr2F0(x199, x200, Main.Pos(Main.Succ(Main.Zero)), x198), new_pr2F0(x201, x202, Main.Pos(Main.Succ(Main.Zero)), x203) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x202, Main.Zero))), x201, Main.Succ(Main.Succ(new_primPlusNat0(x202, Main.Zero))), x203) which results in the following constraint: (1) (new_pr2F0(x199, x200, Main.Pos(Main.Succ(Main.Zero)), x198)=new_pr2F0(x201, x202, Main.Pos(Main.Succ(Main.Zero)), x203) ==> new_pr2F0G11(x198, x199, x200, Main.Succ(Main.Zero))_>=_new_pr2F0(x199, x200, Main.Pos(Main.Succ(Main.Zero)), x198)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x198, x199, x200, Main.Succ(Main.Zero))_>=_new_pr2F0(x199, x200, Main.Pos(Main.Succ(Main.Zero)), x198)) *We consider the chain new_pr2F0G11(x219, x220, x221, Main.Succ(Main.Zero)) -> new_pr2F0(x220, x221, Main.Pos(Main.Succ(Main.Zero)), x219), new_pr2F0(x222, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x223) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x222, Main.Succ(Main.Succ(Main.Zero)), x223) which results in the following constraint: (1) (new_pr2F0(x220, x221, Main.Pos(Main.Succ(Main.Zero)), x219)=new_pr2F0(x222, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x223) ==> new_pr2F0G11(x219, x220, x221, Main.Succ(Main.Zero))_>=_new_pr2F0(x220, x221, Main.Pos(Main.Succ(Main.Zero)), x219)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x219, x220, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x220, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x219)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x293, x294, Main.Pos(Main.Succ(Main.Zero)), x295) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x293, Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x295), new_pr2F31(Main.Succ(Main.Succ(x296)), x297, Main.Succ(Main.Succ(x298)), x299) -> new_pr2F32(Main.Succ(x296), x297, Main.Succ(Main.Succ(x298)), new_srRatio0(x297, x299)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x293, Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x295)=new_pr2F31(Main.Succ(Main.Succ(x296)), x297, Main.Succ(Main.Succ(x298)), x299) ==> new_pr2F0(x293, x294, Main.Pos(Main.Succ(Main.Zero)), x295)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x293, Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x295)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x293, x294, Main.Pos(Main.Succ(Main.Zero)), x295)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x293, Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x295)) *We consider the chain new_pr2F0(x309, x310, Main.Pos(Main.Succ(Main.Zero)), x311) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x311), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x312, Main.Succ(Main.Succ(Main.Zero)), x313) -> new_pr2F32(Main.Succ(Main.Zero), x312, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x312, x313)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x311)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x312, Main.Succ(Main.Succ(Main.Zero)), x313) ==> new_pr2F0(x309, x310, Main.Pos(Main.Succ(Main.Zero)), x311)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x311)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x2414 & new_primPlusNat0(x310, x2414)=Main.Zero ==> new_pr2F0(x309, x310, Main.Pos(Main.Succ(Main.Zero)), x311)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(x310, Main.Zero))), x311)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x310, x2414)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x309, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x311)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x311)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x309, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x311)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x311)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x394)), x395, Main.Succ(Main.Succ(x396)), x397) -> new_pr2F32(Main.Succ(x394), x395, Main.Succ(Main.Succ(x396)), new_srRatio0(x395, x397)), new_pr2F32(x398, x399, Main.Succ(Main.Succ(x400)), x401) -> new_pr2F0G11(x401, x399, Main.Succ(x400), x400) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x394), x395, Main.Succ(Main.Succ(x396)), new_srRatio0(x395, x397))=new_pr2F32(x398, x399, Main.Succ(Main.Succ(x400)), x401) ==> new_pr2F31(Main.Succ(Main.Succ(x394)), x395, Main.Succ(Main.Succ(x396)), x397)_>=_new_pr2F32(Main.Succ(x394), x395, Main.Succ(Main.Succ(x396)), new_srRatio0(x395, x397))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x394)), x395, Main.Succ(Main.Succ(x396)), x397)_>=_new_pr2F32(Main.Succ(x394), x395, Main.Succ(Main.Succ(x396)), new_srRatio0(x395, x397))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x430)), x431, Main.Succ(Main.Succ(x432)), x433) -> new_pr2F32(Main.Succ(x430), x431, Main.Succ(Main.Succ(x432)), new_srRatio0(x431, x433)), new_pr2F32(x434, x435, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x436) -> H(x436, x435, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x430), x431, Main.Succ(Main.Succ(x432)), new_srRatio0(x431, x433))=new_pr2F32(x434, x435, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x436) ==> new_pr2F31(Main.Succ(Main.Succ(x430)), x431, Main.Succ(Main.Succ(x432)), x433)_>=_new_pr2F32(Main.Succ(x430), x431, Main.Succ(Main.Succ(x432)), new_srRatio0(x431, x433))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x430)), x431, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x433)_>=_new_pr2F32(Main.Succ(x430), x431, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), new_srRatio0(x431, x433))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x437)), x438, Main.Succ(Main.Succ(x439)), x440) -> new_pr2F32(Main.Succ(x437), x438, Main.Succ(Main.Succ(x439)), new_srRatio0(x438, x440)), new_pr2F32(x441, x442, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x443) -> H(x443, x442, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x437), x438, Main.Succ(Main.Succ(x439)), new_srRatio0(x438, x440))=new_pr2F32(x441, x442, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x443) ==> new_pr2F31(Main.Succ(Main.Succ(x437)), x438, Main.Succ(Main.Succ(x439)), x440)_>=_new_pr2F32(Main.Succ(x437), x438, Main.Succ(Main.Succ(x439)), new_srRatio0(x438, x440))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x437)), x438, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x440)_>=_new_pr2F32(Main.Succ(x437), x438, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), new_srRatio0(x438, x440))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x460)), x461, Main.Succ(Main.Succ(x462)), x463) -> new_pr2F32(Main.Succ(x460), x461, Main.Succ(Main.Succ(x462)), new_srRatio0(x461, x463)), new_pr2F32(x464, x465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x466) -> H(x466, x465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x460), x461, Main.Succ(Main.Succ(x462)), new_srRatio0(x461, x463))=new_pr2F32(x464, x465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x466) ==> new_pr2F31(Main.Succ(Main.Succ(x460)), x461, Main.Succ(Main.Succ(x462)), x463)_>=_new_pr2F32(Main.Succ(x460), x461, Main.Succ(Main.Succ(x462)), new_srRatio0(x461, x463))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x460)), x461, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x463)_>=_new_pr2F32(Main.Succ(x460), x461, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), new_srRatio0(x461, x463))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x467)), x468, Main.Succ(Main.Succ(x469)), x470) -> new_pr2F32(Main.Succ(x467), x468, Main.Succ(Main.Succ(x469)), new_srRatio0(x468, x470)), new_pr2F32(x471, x472, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x473) -> H(x473, x472, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x467), x468, Main.Succ(Main.Succ(x469)), new_srRatio0(x468, x470))=new_pr2F32(x471, x472, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x473) ==> new_pr2F31(Main.Succ(Main.Succ(x467)), x468, Main.Succ(Main.Succ(x469)), x470)_>=_new_pr2F32(Main.Succ(x467), x468, Main.Succ(Main.Succ(x469)), new_srRatio0(x468, x470))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x467)), x468, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x470)_>=_new_pr2F32(Main.Succ(x467), x468, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), new_srRatio0(x468, x470))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x482)), x483, Main.Succ(Main.Succ(x484)), x485) -> new_pr2F32(Main.Succ(x482), x483, Main.Succ(Main.Succ(x484)), new_srRatio0(x483, x485)), new_pr2F32(x486, x487, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), x489) -> H(x489, x487, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488))))))))), new_new_pr2F0G11(x488)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x482), x483, Main.Succ(Main.Succ(x484)), new_srRatio0(x483, x485))=new_pr2F32(x486, x487, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), x489) ==> new_pr2F31(Main.Succ(Main.Succ(x482)), x483, Main.Succ(Main.Succ(x484)), x485)_>=_new_pr2F32(Main.Succ(x482), x483, Main.Succ(Main.Succ(x484)), new_srRatio0(x483, x485))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x482)), x483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), x485)_>=_new_pr2F32(Main.Succ(x482), x483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), new_srRatio0(x483, x485))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x490)), x491, Main.Succ(Main.Succ(x492)), x493) -> new_pr2F32(Main.Succ(x490), x491, Main.Succ(Main.Succ(x492)), new_srRatio0(x491, x493)), new_pr2F32(x494, x495, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x496) -> H(x496, x495, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x490), x491, Main.Succ(Main.Succ(x492)), new_srRatio0(x491, x493))=new_pr2F32(x494, x495, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x496) ==> new_pr2F31(Main.Succ(Main.Succ(x490)), x491, Main.Succ(Main.Succ(x492)), x493)_>=_new_pr2F32(Main.Succ(x490), x491, Main.Succ(Main.Succ(x492)), new_srRatio0(x491, x493))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x490)), x491, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x493)_>=_new_pr2F32(Main.Succ(x490), x491, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_srRatio0(x491, x493))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x497)), x498, Main.Succ(Main.Succ(x499)), x500) -> new_pr2F32(Main.Succ(x497), x498, Main.Succ(Main.Succ(x499)), new_srRatio0(x498, x500)), new_pr2F32(x501, x502, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x503) -> H(x503, x502, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x497), x498, Main.Succ(Main.Succ(x499)), new_srRatio0(x498, x500))=new_pr2F32(x501, x502, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x503) ==> new_pr2F31(Main.Succ(Main.Succ(x497)), x498, Main.Succ(Main.Succ(x499)), x500)_>=_new_pr2F32(Main.Succ(x497), x498, Main.Succ(Main.Succ(x499)), new_srRatio0(x498, x500))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x497)), x498, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x500)_>=_new_pr2F32(Main.Succ(x497), x498, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_srRatio0(x498, x500))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x520, x521, Main.Succ(Main.Succ(x522)), x523) -> new_pr2F0G11(x523, x521, Main.Succ(x522), x522), new_pr2F0G11(x524, x525, x526, Main.Zero) -> new_pr2F0G2(x524, new_srRatio(x525), x526) which results in the following constraint: (1) (new_pr2F0G11(x523, x521, Main.Succ(x522), x522)=new_pr2F0G11(x524, x525, x526, Main.Zero) ==> new_pr2F32(x520, x521, Main.Succ(Main.Succ(x522)), x523)_>=_new_pr2F0G11(x523, x521, Main.Succ(x522), x522)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x520, x521, Main.Succ(Main.Succ(Main.Zero)), x523)_>=_new_pr2F0G11(x523, x521, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x527, x528, Main.Succ(Main.Succ(x529)), x530) -> new_pr2F0G11(x530, x528, Main.Succ(x529), x529), new_pr2F0G11(x531, x532, x533, Main.Succ(Main.Zero)) -> new_pr2F0(x532, x533, Main.Pos(Main.Succ(Main.Zero)), x531) which results in the following constraint: (1) (new_pr2F0G11(x530, x528, Main.Succ(x529), x529)=new_pr2F0G11(x531, x532, x533, Main.Succ(Main.Zero)) ==> new_pr2F32(x527, x528, Main.Succ(Main.Succ(x529)), x530)_>=_new_pr2F0G11(x530, x528, Main.Succ(x529), x529)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x527, x528, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x530)_>=_new_pr2F0G11(x530, x528, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) the following chains were created: *We consider the chain H(x641, x642, x643, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x641, x642, x643, Main.Zero), new_pr2F0G11(x644, x645, x646, Main.Zero) -> new_pr2F0G2(x644, new_srRatio(x645), x646) which results in the following constraint: (1) (new_pr2F0G11(x641, x642, x643, Main.Zero)=new_pr2F0G11(x644, x645, x646, Main.Zero) ==> H(x641, x642, x643, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x641, x642, x643, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x641, x642, x643, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x641, x642, x643, Main.Zero)) For Pair H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain H(x734, x735, x736, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x734, x735, x736, Main.Succ(Main.Zero)), new_pr2F0G11(x737, x738, x739, Main.Succ(Main.Zero)) -> new_pr2F0(x738, x739, Main.Pos(Main.Succ(Main.Zero)), x737) which results in the following constraint: (1) (new_pr2F0G11(x734, x735, x736, Main.Succ(Main.Zero))=new_pr2F0G11(x737, x738, x739, Main.Succ(Main.Zero)) ==> H(x734, x735, x736, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x734, x735, x736, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x734, x735, x736, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x734, x735, x736, Main.Succ(Main.Zero))) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x828, Main.Succ(Main.Succ(Main.Zero)), x829) -> new_pr2F32(Main.Succ(Main.Zero), x828, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x828, x829)), new_pr2F32(x830, x831, Main.Succ(Main.Succ(x832)), x833) -> new_pr2F0G11(x833, x831, Main.Succ(x832), x832) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x828, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x828, x829))=new_pr2F32(x830, x831, Main.Succ(Main.Succ(x832)), x833) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x828, Main.Succ(Main.Succ(Main.Zero)), x829)_>=_new_pr2F32(Main.Succ(Main.Zero), x828, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x828, x829))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x828, Main.Succ(Main.Succ(Main.Zero)), x829)_>=_new_pr2F32(Main.Succ(Main.Zero), x828, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x828, x829))) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x888, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x889) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x888, Main.Succ(Main.Succ(Main.Zero)), x889), new_pr2F31(Main.Succ(Main.Succ(x890)), x891, Main.Succ(Main.Succ(x892)), x893) -> new_pr2F32(Main.Succ(x890), x891, Main.Succ(Main.Succ(x892)), new_srRatio0(x891, x893)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x888, Main.Succ(Main.Succ(Main.Zero)), x889)=new_pr2F31(Main.Succ(Main.Succ(x890)), x891, Main.Succ(Main.Succ(x892)), x893) ==> new_pr2F0(x888, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x889)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x888, Main.Succ(Main.Succ(Main.Zero)), x889)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x888, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x889)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x888, Main.Succ(Main.Succ(Main.Zero)), x889)) *We consider the chain new_pr2F0(x900, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x901) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x900, Main.Succ(Main.Succ(Main.Zero)), x901), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x902, Main.Succ(Main.Succ(Main.Zero)), x903) -> new_pr2F32(Main.Succ(Main.Zero), x902, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x902, x903)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x900, Main.Succ(Main.Succ(Main.Zero)), x901)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x902, Main.Succ(Main.Succ(Main.Zero)), x903) ==> new_pr2F0(x900, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x901)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x900, Main.Succ(Main.Succ(Main.Zero)), x901)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x900, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x901)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x900, Main.Succ(Main.Succ(Main.Zero)), x901)) For Pair new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) the following chains were created: *We consider the chain new_pr2F0G12(x950, x951, Main.Succ(Main.Zero)) -> new_pr2F0(x951, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x950), new_pr2F0(x952, x953, Main.Pos(Main.Succ(Main.Zero)), x954) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x953, Main.Zero))), x952, Main.Succ(Main.Succ(new_primPlusNat0(x953, Main.Zero))), x954) which results in the following constraint: (1) (new_pr2F0(x951, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x950)=new_pr2F0(x952, x953, Main.Pos(Main.Succ(Main.Zero)), x954) ==> new_pr2F0G12(x950, x951, Main.Succ(Main.Zero))_>=_new_pr2F0(x951, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x950)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x950, x951, Main.Succ(Main.Zero))_>=_new_pr2F0(x951, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x950)) *We consider the chain new_pr2F0G12(x965, x966, Main.Succ(Main.Zero)) -> new_pr2F0(x966, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x965), new_pr2F0(x967, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x968) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x967, Main.Succ(Main.Succ(Main.Zero)), x968) which results in the following constraint: (1) (new_pr2F0(x966, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x965)=new_pr2F0(x967, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x968) ==> new_pr2F0G12(x965, x966, Main.Succ(Main.Zero))_>=_new_pr2F0(x966, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x965)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x965, x966, Main.Succ(Main.Zero))_>=_new_pr2F0(x966, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x965)) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G2(x1027, x1028, Main.Succ(Main.Zero)) -> new_pr2F0G12(x1027, x1028, Main.Succ(Main.Zero)), new_pr2F0G12(x1029, x1030, Main.Succ(Main.Zero)) -> new_pr2F0(x1030, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x1029) which results in the following constraint: (1) (new_pr2F0G12(x1027, x1028, Main.Succ(Main.Zero))=new_pr2F0G12(x1029, x1030, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1027, x1028, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1027, x1028, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1027, x1028, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1027, x1028, Main.Succ(Main.Zero))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G2(x1087, x1088, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(x1087, x1088, Main.Succ(Main.Zero)), new_pr2F0G12(x1089, x1090, Main.Succ(Main.Zero)) -> new_pr2F0(x1090, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x1089) which results in the following constraint: (1) (new_pr2F0G12(x1087, x1088, Main.Succ(Main.Zero))=new_pr2F0G12(x1089, x1090, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1087, x1088, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1087, x1088, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1087, x1088, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1087, x1088, Main.Succ(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x1145, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1147) -> H(x1147, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)), H(x1148, x1149, x1150, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1148, x1149, x1150, Main.Zero) which results in the following constraint: (1) (H(x1147, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))=H(x1148, x1149, x1150, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1145, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1147)_>=_H(x1147, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1145, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1147)_>=_H(x1147, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x1238, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1240) -> H(x1240, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1241, x1242, x1243, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1241, x1242, x1243, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1240, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1241, x1242, x1243, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1238, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1240)_>=_H(x1240, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1238, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1240)_>=_H(x1240, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)), H(x1321, x1322, x1323, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1321, x1322, x1323, Main.Zero) which results in the following constraint: (1) (H(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))=H(x1321, x1322, x1323, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1384, x1385, x1386, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1384, x1385, x1386, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1384, x1385, x1386, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) the following chains were created: *We consider the chain new_pr2F0G2(x1429, x1430, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1431))))) -> new_pr2F0G12(x1429, x1430, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1431), Main.Succ(Main.Zero))))), new_pr2F0G12(x1432, x1433, Main.Succ(Main.Succ(x1434))) -> new_pr2F0G11(x1432, x1433, Main.Succ(x1434), x1434) which results in the following constraint: (1) (new_pr2F0G12(x1429, x1430, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1431), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1432, x1433, Main.Succ(Main.Succ(x1434))) ==> new_pr2F0G2(x1429, x1430, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1431)))))_>=_new_pr2F0G12(x1429, x1430, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1431), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1429, x1430, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1431)))))_>=_new_pr2F0G12(x1429, x1430, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1431), Main.Succ(Main.Zero)))))) *We consider the chain new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479))))) -> new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero))))), new_pr2F0G12(x1480, x1481, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(x1480, x1481, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1480, x1481, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479)))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1479)=x2419 & Main.Succ(Main.Zero)=x2420 & new_primDivNatS3(x2419, x2420)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479)))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2419, x2420)=Main.Succ(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (new_primDivNatS01(x2422, x2421, x2422, x2421)=Main.Succ(Main.Succ(Main.Zero)) & Main.Succ(x1479)=Main.Succ(Main.Succ(x2422)) & Main.Succ(Main.Zero)=Main.Succ(x2421) ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479)))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Zero)) & Main.Succ(x1479)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479)))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2425), Main.Zero))=Main.Succ(Main.Succ(Main.Zero)) & Main.Succ(x1479)=Main.Succ(Main.Succ(x2425)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1479)))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1479), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2422=x2426 & x2421=x2427 & new_primDivNatS01(x2422, x2421, x2426, x2427)=Main.Succ(Main.Succ(Main.Zero)) & Main.Zero=x2421 ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2422)), Main.Succ(Main.Zero)))))) 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(x2422, x2421, x2426, x2427)=Main.Succ(Main.Succ(Main.Zero)) which results in the following new constraints: (7) (new_primDivNatS02(x2430, x2429)=Main.Succ(Main.Succ(Main.Zero)) & x2430=Main.Succ(x2428) & x2429=Main.Zero & Main.Zero=x2429 ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2430))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2430)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2432, x2431)=Main.Succ(Main.Succ(Main.Zero)) & x2432=Main.Zero & x2431=Main.Zero & Main.Zero=x2431 ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2432))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2432)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2439, x2438, x2437, x2436)=Main.Succ(Main.Succ(Main.Zero)) & x2439=Main.Succ(x2437) & x2438=Main.Succ(x2436) & Main.Zero=x2438 & (\/x2440,x2441:new_primDivNatS01(x2439, x2438, x2437, x2436)=Main.Succ(Main.Succ(Main.Zero)) & x2439=x2437 & x2438=x2436 & Main.Zero=x2438 ==> new_pr2F0G2(x2440, x2441, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2439))))))_>=_new_pr2F0G12(x2440, x2441, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2439)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2439))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2439)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2428))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484))))) -> new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero))))), new_pr2F0G12(x1485, x1486, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(x1485, x1486, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1485, x1486, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484)))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1484)=x2446 & Main.Succ(Main.Zero)=x2447 & new_primDivNatS3(x2446, x2447)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484)))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2446, x2447)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) which results in the following new constraints: (3) (new_primDivNatS01(x2449, x2448, x2449, x2448)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & Main.Succ(x1484)=Main.Succ(Main.Succ(x2449)) & Main.Succ(Main.Zero)=Main.Succ(x2448) ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484)))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & Main.Succ(x1484)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484)))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2452), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & Main.Succ(x1484)=Main.Succ(Main.Succ(x2452)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1484)))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1484), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2449=x2453 & x2448=x2454 & new_primDivNatS01(x2449, x2448, x2453, x2454)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & Main.Zero=x2448 ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2449))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2449)), Main.Succ(Main.Zero)))))) 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(x2449, x2448, x2453, x2454)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) which results in the following new constraints: (7) (new_primDivNatS02(x2457, x2456)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & x2457=Main.Succ(x2455) & x2456=Main.Zero & Main.Zero=x2456 ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2457))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2457)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2459, x2458)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & x2459=Main.Zero & x2458=Main.Zero & Main.Zero=x2458 ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2459))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2459)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2466, x2465, x2464, x2463)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & x2466=Main.Succ(x2464) & x2465=Main.Succ(x2463) & Main.Zero=x2465 & (\/x2467,x2468:new_primDivNatS01(x2466, x2465, x2464, x2463)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & x2466=x2464 & x2465=x2463 & Main.Zero=x2465 ==> new_pr2F0G2(x2467, x2468, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2466))))))_>=_new_pr2F0G12(x2467, x2468, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2466)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2466))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2466)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2455)))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2455))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501))))) -> new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero))))), new_pr2F0G12(x1502, x1503, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(x1502, x1503, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1502, x1503, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501)))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1501)=x2473 & Main.Succ(Main.Zero)=x2474 & new_primDivNatS3(x2473, x2474)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501)))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2473, x2474)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) which results in the following new constraints: (3) (new_primDivNatS01(x2476, x2475, x2476, x2475)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & Main.Succ(x1501)=Main.Succ(Main.Succ(x2476)) & Main.Succ(Main.Zero)=Main.Succ(x2475) ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501)))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & Main.Succ(x1501)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501)))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2479), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & Main.Succ(x1501)=Main.Succ(Main.Succ(x2479)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1501)))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1501), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2476=x2480 & x2475=x2481 & new_primDivNatS01(x2476, x2475, x2480, x2481)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & Main.Zero=x2475 ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2476))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2476)), Main.Succ(Main.Zero)))))) 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(x2476, x2475, x2480, x2481)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) which results in the following new constraints: (7) (new_primDivNatS02(x2484, x2483)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & x2484=Main.Succ(x2482) & x2483=Main.Zero & Main.Zero=x2483 ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2484))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2484)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2486, x2485)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & x2486=Main.Zero & x2485=Main.Zero & Main.Zero=x2485 ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2486))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2486)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2493, x2492, x2491, x2490)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & x2493=Main.Succ(x2491) & x2492=Main.Succ(x2490) & Main.Zero=x2492 & (\/x2494,x2495:new_primDivNatS01(x2493, x2492, x2491, x2490)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & x2493=x2491 & x2492=x2490 & Main.Zero=x2492 ==> new_pr2F0G2(x2494, x2495, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2493))))))_>=_new_pr2F0G12(x2494, x2495, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2493)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2493))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2493)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2482)))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2482))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506))))) -> new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero))))), new_pr2F0G12(x1507, x1508, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(x1507, x1508, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1507, x1508, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506)))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1506)=x2500 & Main.Succ(Main.Zero)=x2501 & new_primDivNatS3(x2500, x2501)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506)))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2500, x2501)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) which results in the following new constraints: (3) (new_primDivNatS01(x2503, x2502, x2503, x2502)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & Main.Succ(x1506)=Main.Succ(Main.Succ(x2503)) & Main.Succ(Main.Zero)=Main.Succ(x2502) ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506)))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & Main.Succ(x1506)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506)))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2506), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & Main.Succ(x1506)=Main.Succ(Main.Succ(x2506)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1506)))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1506), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2503=x2507 & x2502=x2508 & new_primDivNatS01(x2503, x2502, x2507, x2508)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & Main.Zero=x2502 ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2503))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2503)), Main.Succ(Main.Zero)))))) 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(x2503, x2502, x2507, x2508)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) which results in the following new constraints: (7) (new_primDivNatS02(x2511, x2510)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & x2511=Main.Succ(x2509) & x2510=Main.Zero & Main.Zero=x2510 ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2511))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2511)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2513, x2512)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & x2513=Main.Zero & x2512=Main.Zero & Main.Zero=x2512 ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2513))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2513)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2520, x2519, x2518, x2517)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & x2520=Main.Succ(x2518) & x2519=Main.Succ(x2517) & Main.Zero=x2519 & (\/x2521,x2522:new_primDivNatS01(x2520, x2519, x2518, x2517)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & x2520=x2518 & x2519=x2517 & Main.Zero=x2519 ==> new_pr2F0G2(x2521, x2522, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2520))))))_>=_new_pr2F0G12(x2521, x2522, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2520)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2520))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2520)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2509)))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2509))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520))))) -> new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero))))), new_pr2F0G12(x1521, x1522, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523))))))))))) -> H(x1521, x1522, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523))))))))), new_new_pr2F0G11(x1523)) which results in the following constraint: (1) (new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1521, x1522, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523))))))))))) ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520)))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1520)=x2527 & Main.Succ(Main.Zero)=x2528 & new_primDivNatS3(x2527, x2528)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520)))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2527, x2528)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) which results in the following new constraints: (3) (new_primDivNatS01(x2530, x2529, x2530, x2529)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & Main.Succ(x1520)=Main.Succ(Main.Succ(x2530)) & Main.Succ(Main.Zero)=Main.Succ(x2529) ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520)))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & Main.Succ(x1520)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520)))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2533), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & Main.Succ(x1520)=Main.Succ(Main.Succ(x2533)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1520)))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1520), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2530=x2534 & x2529=x2535 & new_primDivNatS01(x2530, x2529, x2534, x2535)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & Main.Zero=x2529 ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2530))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2530)), Main.Succ(Main.Zero)))))) 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(x2530, x2529, x2534, x2535)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) which results in the following new constraints: (7) (new_primDivNatS02(x2538, x2537)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & x2538=Main.Succ(x2536) & x2537=Main.Zero & Main.Zero=x2537 ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2538))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2538)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2540, x2539)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & x2540=Main.Zero & x2539=Main.Zero & Main.Zero=x2539 ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2540))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2540)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2547, x2546, x2545, x2544)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1523)))))))) & x2547=Main.Succ(x2545) & x2546=Main.Succ(x2544) & Main.Zero=x2546 & (\/x2548,x2549,x2550:new_primDivNatS01(x2547, x2546, x2545, x2544)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2548)))))))) & x2547=x2545 & x2546=x2544 & Main.Zero=x2546 ==> new_pr2F0G2(x2549, x2550, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2547))))))_>=_new_pr2F0G12(x2549, x2550, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2547)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2547))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2547)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2536)))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2536))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526))))) -> new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero))))), new_pr2F0G12(x1527, x1528, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(x1527, x1528, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1527, x1528, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526)))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1526)=x2555 & Main.Succ(Main.Zero)=x2556 & new_primDivNatS3(x2555, x2556)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526)))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2555, x2556)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) which results in the following new constraints: (3) (new_primDivNatS01(x2558, x2557, x2558, x2557)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & Main.Succ(x1526)=Main.Succ(Main.Succ(x2558)) & Main.Succ(Main.Zero)=Main.Succ(x2557) ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526)))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & Main.Succ(x1526)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526)))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2561), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & Main.Succ(x1526)=Main.Succ(Main.Succ(x2561)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1526)))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1526), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2558=x2562 & x2557=x2563 & new_primDivNatS01(x2558, x2557, x2562, x2563)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & Main.Zero=x2557 ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2558))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2558)), Main.Succ(Main.Zero)))))) 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(x2558, x2557, x2562, x2563)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) which results in the following new constraints: (7) (new_primDivNatS02(x2566, x2565)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & x2566=Main.Succ(x2564) & x2565=Main.Zero & Main.Zero=x2565 ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2566))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2566)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2568, x2567)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & x2568=Main.Zero & x2567=Main.Zero & Main.Zero=x2567 ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2568))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2568)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2575, x2574, x2573, x2572)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & x2575=Main.Succ(x2573) & x2574=Main.Succ(x2572) & Main.Zero=x2574 & (\/x2576,x2577:new_primDivNatS01(x2575, x2574, x2573, x2572)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & x2575=x2573 & x2574=x2572 & Main.Zero=x2574 ==> new_pr2F0G2(x2576, x2577, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2575))))))_>=_new_pr2F0G12(x2576, x2577, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2575)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2575))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2575)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2564)))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2564))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531))))) -> new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero))))), new_pr2F0G12(x1532, x1533, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x1532, x1533, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))=new_pr2F0G12(x1532, x1533, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531)))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(x1531)=x2582 & Main.Succ(Main.Zero)=x2583 & new_primDivNatS3(x2582, x2583)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531)))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x2582, x2583)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) which results in the following new constraints: (3) (new_primDivNatS01(x2585, x2584, x2585, x2584)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & Main.Succ(x1531)=Main.Succ(Main.Succ(x2585)) & Main.Succ(Main.Zero)=Main.Succ(x2584) ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531)))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & Main.Succ(x1531)=Main.Succ(Main.Zero) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531)))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))) (5) (Main.Succ(new_primDivNatS3(new_primMinusNatS1(x2588), Main.Zero))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & Main.Succ(x1531)=Main.Succ(Main.Succ(x2588)) & Main.Succ(Main.Zero)=Main.Zero ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1531)))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1531), Main.Succ(Main.Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2585=x2589 & x2584=x2590 & new_primDivNatS01(x2585, x2584, x2589, x2590)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & Main.Zero=x2584 ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2585))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2585)), Main.Succ(Main.Zero)))))) 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(x2585, x2584, x2589, x2590)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) which results in the following new constraints: (7) (new_primDivNatS02(x2593, x2592)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & x2593=Main.Succ(x2591) & x2592=Main.Zero & Main.Zero=x2592 ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2593))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2593)), Main.Succ(Main.Zero)))))) (8) (new_primDivNatS02(x2595, x2594)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & x2595=Main.Zero & x2594=Main.Zero & Main.Zero=x2594 ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2595))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2595)), Main.Succ(Main.Zero)))))) (9) (new_primDivNatS01(x2602, x2601, x2600, x2599)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & x2602=Main.Succ(x2600) & x2601=Main.Succ(x2599) & Main.Zero=x2601 & (\/x2603,x2604:new_primDivNatS01(x2602, x2601, x2600, x2599)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & x2602=x2600 & x2601=x2599 & Main.Zero=x2601 ==> new_pr2F0G2(x2603, x2604, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2602))))))_>=_new_pr2F0G12(x2603, x2604, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2602)), Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2602))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(x2602)), Main.Succ(Main.Zero)))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2591)))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2591))), Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G2(x1534, x1535, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(x1534, x1535, Main.Succ(Main.Succ(Main.Zero))), new_pr2F0G12(x1536, x1537, Main.Succ(Main.Succ(x1538))) -> new_pr2F0G11(x1536, x1537, Main.Succ(x1538), x1538) which results in the following constraint: (1) (new_pr2F0G12(x1534, x1535, Main.Succ(Main.Succ(Main.Zero)))=new_pr2F0G12(x1536, x1537, Main.Succ(Main.Succ(x1538))) ==> new_pr2F0G2(x1534, x1535, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1534, x1535, Main.Succ(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1534, x1535, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1534, x1535, Main.Succ(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x1613, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1615) -> H(x1615, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)), H(x1616, x1617, x1618, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1616, x1617, x1618, Main.Zero) which results in the following constraint: (1) (H(x1615, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))=H(x1616, x1617, x1618, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1613, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1615)_>=_H(x1615, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1613, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1615)_>=_H(x1615, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x1706, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1708) -> H(x1708, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1709, x1710, x1711, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1709, x1710, x1711, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1708, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1709, x1710, x1711, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1706, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1708)_>=_H(x1708, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1706, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1708)_>=_H(x1708, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)), H(x1789, x1790, x1791, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1789, x1790, x1791, Main.Zero) which results in the following constraint: (1) (H(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))=H(x1789, x1790, x1791, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1852, x1853, x1854, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1852, x1853, x1854, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1852, x1853, x1854, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) the following chains were created: *We consider the chain new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923)))))))))), x1924) -> H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923))))))))), new_new_pr2F0G11(x1923)), H(x1925, x1926, x1927, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1925, x1926, x1927, Main.Zero) which results in the following constraint: (1) (H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923))))))))), new_new_pr2F0G11(x1923))=H(x1925, x1926, x1927, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923))))))))), new_new_pr2F0G11(x1923))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x1923)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1923))))))))), new_new_pr2F0G11(x1923))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x1923)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (3) (new_new_pr2F0G11(x2609)=cons_new_pr2F0G11(Main.Zero) & (\/x2610,x2611,x2612:new_new_pr2F0G11(x2609)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x2610, x2611, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))), x2612)_>=_H(x2612, x2611, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))), new_new_pr2F0G11(x2609))) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2609))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2610,x2611,x2612:new_new_pr2F0G11(x2609)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x2610, x2611, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))), x2612)_>=_H(x2612, x2611, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))), new_new_pr2F0G11(x2609))) with sigma = [x2610 / x1921, x2611 / x1922, x2612 / x1924] which results in the following new constraint: (6) (new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))), new_new_pr2F0G11(x2609)) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2609))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930)))))))))), x1931) -> H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930))))))))), new_new_pr2F0G11(x1930)), H(x1932, x1933, x1934, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1932, x1933, x1934, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930))))))))), new_new_pr2F0G11(x1930))=H(x1932, x1933, x1934, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930)))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930))))))))), new_new_pr2F0G11(x1930))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x1930)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930)))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1930))))))))), new_new_pr2F0G11(x1930))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x1930)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (new_new_pr2F0G11(x2613)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x2614,x2615,x2616:new_new_pr2F0G11(x2613)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x2614, x2615, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))), x2616)_>=_H(x2616, x2615, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))), new_new_pr2F0G11(x2613))) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2613))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2614,x2615,x2616:new_new_pr2F0G11(x2613)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x2614, x2615, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))), x2616)_>=_H(x2616, x2615, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))), new_new_pr2F0G11(x2613))) with sigma = [x2614 / x1928, x2615 / x1929, x2616 / x1931] which results in the following new constraint: (6) (new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))), new_new_pr2F0G11(x2613)) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2613))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x2037, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2039) -> H(x2039, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)), H(x2040, x2041, x2042, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2040, x2041, x2042, Main.Zero) which results in the following constraint: (1) (H(x2039, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))=H(x2040, x2041, x2042, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x2037, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2039)_>=_H(x2039, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x2037, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2039)_>=_H(x2039, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x2130, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2132) -> H(x2132, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x2133, x2134, x2135, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2133, x2134, x2135, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2132, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x2133, x2134, x2135, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x2130, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2132)_>=_H(x2132, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x2130, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2132)_>=_H(x2132, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) the following chains were created: *We consider the chain new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219))))))))))) -> H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219))))))))), new_new_pr2F0G11(x2219)), H(x2220, x2221, x2222, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2220, x2221, x2222, Main.Zero) which results in the following constraint: (1) (H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219))))))))), new_new_pr2F0G11(x2219))=H(x2220, x2221, x2222, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219))))))))), new_new_pr2F0G11(x2219))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x2219)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2219))))))))), new_new_pr2F0G11(x2219))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x2219)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (3) (new_new_pr2F0G11(x2617)=cons_new_pr2F0G11(Main.Zero) & (\/x2618,x2619:new_new_pr2F0G11(x2617)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2618, x2619, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))_>=_H(x2618, x2619, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))), new_new_pr2F0G11(x2617))) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2617))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2618,x2619:new_new_pr2F0G11(x2617)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2618, x2619, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))_>=_H(x2618, x2619, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))), new_new_pr2F0G11(x2617))) with sigma = [x2618 / x2217, x2619 / x2218] which results in the following new constraint: (6) (new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))), new_new_pr2F0G11(x2617)) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2617))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225))))))))))) -> H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225))))))))), new_new_pr2F0G11(x2225)), H(x2226, x2227, x2228, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2226, x2227, x2228, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225))))))))), new_new_pr2F0G11(x2225))=H(x2226, x2227, x2228, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225)))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225))))))))), new_new_pr2F0G11(x2225))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x2225)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225)))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2225))))))))), new_new_pr2F0G11(x2225))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x2225)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (new_new_pr2F0G11(x2620)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x2621,x2622:new_new_pr2F0G11(x2620)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2621, x2622, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))_>=_H(x2621, x2622, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))), new_new_pr2F0G11(x2620))) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2620))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2621,x2622:new_new_pr2F0G11(x2620)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2621, x2622, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))_>=_H(x2621, x2622, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))), new_new_pr2F0G11(x2620))) with sigma = [x2621 / x2223, x2622 / x2224] which results in the following new constraint: (6) (new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))), new_new_pr2F0G11(x2620)) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2620))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)), H(x2306, x2307, x2308, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2306, x2307, x2308, Main.Zero) which results in the following constraint: (1) (H(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))=H(x2306, x2307, x2308, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x2369, x2370, x2371, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2369, x2370, x2371, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x2369, x2370, x2371, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x3, x4, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x3, x4, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x9, x10, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x9, x10, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) *(new_pr2F0G11(x126, x127, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x126, new_srRatio(x127), Main.Succ(Main.Zero))) *(new_pr2F0G11(x131, x132, Main.Succ(Main.Succ(Main.Zero)), Main.Zero)_>=_new_pr2F0G2(x131, new_srRatio(x132), Main.Succ(Main.Succ(Main.Zero)))) *(new_pr2F0G11(x148, x149, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153)))), Main.Zero)_>=_new_pr2F0G2(x148, new_srRatio(x149), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x153)))))) *(new_pr2F0G11(x154, x155, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Zero)_>=_new_pr2F0G2(x154, new_srRatio(x155), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) *new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) *(new_pr2F0G11(x198, x199, x200, Main.Succ(Main.Zero))_>=_new_pr2F0(x199, x200, Main.Pos(Main.Succ(Main.Zero)), x198)) *(new_pr2F0G11(x219, x220, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x220, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x219)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x293, x294, Main.Pos(Main.Succ(Main.Zero)), x295)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x293, Main.Succ(Main.Succ(new_primPlusNat0(x294, Main.Zero))), x295)) *(new_pr2F0(x309, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x311)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x309, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x311)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x394)), x395, Main.Succ(Main.Succ(x396)), x397)_>=_new_pr2F32(Main.Succ(x394), x395, Main.Succ(Main.Succ(x396)), new_srRatio0(x395, x397))) *(new_pr2F31(Main.Succ(Main.Succ(x430)), x431, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x433)_>=_new_pr2F32(Main.Succ(x430), x431, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), new_srRatio0(x431, x433))) *(new_pr2F31(Main.Succ(Main.Succ(x437)), x438, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x440)_>=_new_pr2F32(Main.Succ(x437), x438, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), new_srRatio0(x438, x440))) *(new_pr2F31(Main.Succ(Main.Succ(x460)), x461, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x463)_>=_new_pr2F32(Main.Succ(x460), x461, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), new_srRatio0(x461, x463))) *(new_pr2F31(Main.Succ(Main.Succ(x467)), x468, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x470)_>=_new_pr2F32(Main.Succ(x467), x468, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), new_srRatio0(x468, x470))) *(new_pr2F31(Main.Succ(Main.Succ(x482)), x483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), x485)_>=_new_pr2F32(Main.Succ(x482), x483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x488)))))))))), new_srRatio0(x483, x485))) *(new_pr2F31(Main.Succ(Main.Succ(x490)), x491, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x493)_>=_new_pr2F32(Main.Succ(x490), x491, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_srRatio0(x491, x493))) *(new_pr2F31(Main.Succ(Main.Succ(x497)), x498, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x500)_>=_new_pr2F32(Main.Succ(x497), x498, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_srRatio0(x498, x500))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x520, x521, Main.Succ(Main.Succ(Main.Zero)), x523)_>=_new_pr2F0G11(x523, x521, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x527, x528, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x530)_>=_new_pr2F0G11(x530, x528, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) *(H(x641, x642, x643, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x641, x642, x643, Main.Zero)) *H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) *(H(x734, x735, x736, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x734, x735, x736, Main.Succ(Main.Zero))) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x828, Main.Succ(Main.Succ(Main.Zero)), x829)_>=_new_pr2F32(Main.Succ(Main.Zero), x828, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(x828, x829))) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x888, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x889)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x888, Main.Succ(Main.Succ(Main.Zero)), x889)) *(new_pr2F0(x900, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x901)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x900, Main.Succ(Main.Succ(Main.Zero)), x901)) *new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) *(new_pr2F0G12(x950, x951, Main.Succ(Main.Zero))_>=_new_pr2F0(x951, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x950)) *(new_pr2F0G12(x965, x966, Main.Succ(Main.Zero))_>=_new_pr2F0(x966, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x965)) *new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) *(new_pr2F0G2(x1027, x1028, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1027, x1028, Main.Succ(Main.Zero))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) *(new_pr2F0G2(x1087, x1088, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1087, x1088, Main.Succ(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x1145, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1147)_>=_H(x1147, x1146, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x1238, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1240)_>=_H(x1240, x1239, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1319, x1320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1382, x1383, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) *(new_pr2F0G2(x1429, x1430, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1431)))))_>=_new_pr2F0G12(x1429, x1430, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x1431), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2428))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1477, x1478, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1477, x1478, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2455)))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2455))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1482, x1483, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1482, x1483, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2482)))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2482))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1499, x1500, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1499, x1500, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2509)))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2509))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1504, x1505, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1504, x1505, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2536)))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2536))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1518, x1519, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1518, x1519, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2564)))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2564))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1524, x1525, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1524, x1525, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2591)))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Succ(x2591))), Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x1529, x1530, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1529, x1530, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)))))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) *(new_pr2F0G2(x1534, x1535, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1534, x1535, Main.Succ(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x1613, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1615)_>=_H(x1615, x1614, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x1706, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1708)_>=_H(x1708, x1707, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1787, x1788, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1850, x1851, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) *(new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))), new_new_pr2F0G11(x2609)) ==> new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609)))))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2609))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2609))))) *(new_pr2F32(x1921, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1924)_>=_H(x1924, x1922, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) *(new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))), new_new_pr2F0G11(x2613)) ==> new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613)))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2613))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2613))))) *(new_pr2F32(x1928, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1931)_>=_H(x1931, x1929, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x2037, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2039)_>=_H(x2039, x2038, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x2130, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2132)_>=_H(x2132, x2131, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) *(new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))), new_new_pr2F0G11(x2617)) ==> new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617)))))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2617))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2617))))) *(new_pr2F0G12(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2217, x2218, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) *(new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))), new_new_pr2F0G11(x2620)) ==> new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620)))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2620))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2620))))) *(new_pr2F0G12(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2223, x2224, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2304, x2305, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2367, x2368, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.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. ---------------------------------------- (659) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx67, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx77, vx78, vx79, Main.Zero) -> new_pr2F0G2(vx77, new_srRatio(vx78), vx79) new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) -> new_pr2F0(vx78, vx79, Main.Pos(Main.Succ(Main.Zero)), vx77) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srRatio0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx67) -> new_pr2F0G11(vx67, vx50, Main.Succ(vx6100), vx6100) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx77, vx78, vx79, Main.Zero) H(vx77, vx78, vx79, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Zero)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srRatio0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx67, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx67) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS3(Main.Succ(x2), Main.Succ(Main.Zero))))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx8000))) -> new_new_pr2F0G11(vx8000) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_error0 -> Prelude.error([]) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_error -> Prelude.error([]) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero new_gcd2(Main.Zero, Main.Zero) -> new_error new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd22(Main.Zero, Main.Zero) -> new_error new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_absReal10 -> Main.Neg(Main.Zero) new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absMyInt0(Main.Zero) -> new_absReal10 new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_gcd21(Main.Zero, Main.Zero) -> new_error new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (660) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (661) 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_pr2F0G11(vx77, vx78, vx79, Main.Succ(Main.Succ(vx8000))) -> new_pr2F0G11(vx77, vx78, vx79, vx8000) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 ---------------------------------------- (662) YES ---------------------------------------- (663) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(Main.Succ(vx740), Main.Succ(vx85000), vx73, vx72) -> new_pr2F3(vx740, vx85000, vx73, vx72) The TRS R consists of the following rules: new_gcd0(vx127, vx101) -> new_gcd0Gcd'0(new_absMyInt(vx127), new_absMyInt0(vx101)) new_absReal10 -> Main.Neg(Main.Zero) new_gcd22(Main.Zero, Main.Zero) -> new_error new_error -> Prelude.error([]) new_reduce2D2(vx125, vx98) -> new_gcd22(vx125, vx98) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Succ(vx990)) -> CnPc(new_primQuotInt2(vx730, vx720, vx98), new_primQuotInt(vx97, new_gcd24(vx730, vx720, vx98))) new_absMyInt(Main.Succ(vx980)) -> Main.Pos(Main.Succ(vx980)) new_gcd2(Main.Zero, Main.Zero) -> new_error new_absMyInt0(Main.Zero) -> new_absReal10 new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primMulNat1(Main.Zero) -> Main.Zero new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(vx170000)) -> Main.Succ(Main.Zero) new_primRemInt(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primModNatS02(vx180, vx181) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(vx180), Main.Succ(Main.Succ(vx181))), Main.Succ(Main.Succ(vx181))) new_primDivNatS02(vx165, vx166) -> Main.Succ(new_primDivNatS3(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166))) new_gcd24(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd24(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_gcd22(new_primMulNat0(vx7300, vx7200), vx98) new_gcd20(Main.Zero, vx127, Main.Succ(vx1010)) -> new_gcd0(vx127, Main.Succ(vx1010)) new_primModNatS01(vx180, vx181, Main.Zero, Main.Zero) -> new_primModNatS02(vx180, vx181) new_gcd0Gcd'0(vx171, Main.Pos(Main.Zero)) -> vx171 new_error0 -> Prelude.error([]) new_gcd0Gcd'0(vx171, Main.Neg(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Neg(Main.Succ(vx17000)), new_primRemInt0(vx171, vx17000)) new_primMinusNatS2 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Succ(vx1830)) -> new_primModNatS01(vx180, vx181, vx1820, vx1830) new_primQuotInt0(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_primModNatS1(Main.Zero, vx17000) -> Main.Zero new_primQuotInt0(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D0(new_primMulNat0(vx7300, vx7200), vx101)) new_gcd2(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absMyInt(Main.Zero), new_absMyInt(Main.Succ(vx980))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Succ(vx1700000))) -> new_primModNatS01(Main.Succ(vx1710000), vx1700000, vx1710000, vx1700000) new_primQuotInt(vx97, Main.Pos(Main.Succ(vx15000))) -> Main.Pos(new_primDivNatS3(vx97, vx15000)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(vx1710000))), Main.Succ(Main.Zero)) -> new_primModNatS1(new_primMinusNatS0(Main.Succ(Main.Succ(vx1710000)), Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primDivNatS01(vx165, vx166, Main.Zero, Main.Succ(vx1680)) -> Main.Zero new_gcd0Gcd'0(vx171, Main.Neg(Main.Zero)) -> vx171 new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_reduce2D(vx151, vx98) -> new_gcd2(vx151, vx98) new_gcd22(Main.Succ(vx1250), vx98) -> new_gcd0Gcd'0(new_absReal1(vx1250), new_absMyInt(vx98)) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Succ(vx1020)) -> CnPc(new_primQuotInt0(vx730, vx720, vx101), new_primQuotInt1(vx100, new_gcd23(vx730, vx720, vx101))) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS02(vx165, vx166) new_primQuotInt1(vx123, Main.Neg(Main.Succ(vx12400))) -> Main.Pos(new_primDivNatS3(vx123, vx12400)) new_gcd24(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_absMyInt(Main.Zero) -> Main.Pos(Main.Zero) new_srRatio(CnPc(vx440, Main.Neg(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd2(Main.Succ(vx1510), vx98) -> new_gcd0Gcd'0(new_absMyInt(Main.Succ(vx1510)), new_absMyInt(vx98)) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt0(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primQuotInt0(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D1(new_primMulNat0(vx7300, vx7200), vx101)) new_primDivNatS2(Main.Zero) -> Main.Zero new_primRemInt(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_gcd21(Main.Zero, Main.Zero) -> new_error new_primRemInt0(Main.Neg(vx1710), vx17000) -> Main.Neg(new_primModNatS1(vx1710, vx17000)) new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primQuotInt(vx97, Main.Neg(Main.Zero)) -> new_error new_reduce2Reduce10(vx730, vx720, vx101, vx100, Main.Zero) -> new_error0 new_primDivNatS1 -> Main.Zero new_primModNatS01(vx180, vx181, Main.Zero, Main.Succ(vx1830)) -> Main.Succ(Main.Succ(vx180)) new_gcd20(Main.Zero, vx127, Main.Zero) -> new_error new_primDivNatS01(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS02(vx165, vx166) new_absMyInt0(Main.Succ(vx1010)) -> new_absReal1(vx1010) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_reduce2Reduce1(vx730, vx720, vx98, vx97, Main.Zero) -> new_error0 new_primQuotInt1(vx123, Main.Pos(Main.Zero)) -> new_error new_reduce2D0(vx152, vx101) -> new_gcd20(vx152, vx152, vx101) new_gcd23(Main.Pos(vx7300), Main.Neg(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_gcd23(Main.Neg(vx7300), Main.Pos(vx7200), vx101) -> new_gcd21(new_primMulNat0(vx7300, vx7200), vx101) new_primMulNat0(Main.Succ(vx73100), Main.Succ(vx72100)) -> new_primPlusNat0(new_primMulNat0(vx73100, Main.Succ(vx72100)), Main.Succ(vx72100)) new_primQuotInt1(vx123, Main.Pos(Main.Succ(vx12400))) -> Main.Neg(new_primDivNatS3(vx123, vx12400)) new_primQuotInt(vx97, Main.Neg(Main.Succ(vx15000))) -> Main.Neg(new_primDivNatS3(vx97, vx15000)) new_primDivNatS01(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS01(vx165, vx166, vx1670, vx1680) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(vx1700000))) -> Main.Succ(Main.Succ(Main.Zero)) new_gcd0Gcd'0(vx171, Main.Pos(Main.Succ(vx17000))) -> new_gcd0Gcd'0(Main.Pos(Main.Succ(vx17000)), new_primRemInt(vx171, vx17000)) new_gcd23(Main.Neg(vx7300), Main.Neg(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_gcd24(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_gcd2(new_primMulNat0(vx7300, vx7200), vx98) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS2, Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primRemInt0(Main.Pos(vx1710), vx17000) -> Main.Pos(new_primModNatS1(vx1710, vx17000)) new_reduce2D1(vx126, vx101) -> new_gcd21(vx126, vx101) new_primMulNat1(Main.Succ(vx44100)) -> new_primPlusNat0(new_primMulNat0(vx44100, Main.Succ(vx44100)), Main.Succ(vx44100)) new_primQuotInt2(Main.Pos(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_srRatio(CnPc(vx440, Main.Pos(vx4410))) -> new_reduce2Reduce1(vx440, vx440, new_primMulNat1(vx4410), new_primMulNat1(vx4410), new_primMulNat1(vx4410)) new_gcd20(Main.Succ(vx1280), vx127, vx101) -> new_gcd0(vx127, vx101) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Neg(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_srRatio0(CnPc(vx730, Main.Neg(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce10(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primQuotInt2(Main.Pos(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primQuotInt2(Main.Neg(vx7300), Main.Pos(vx7200), vx98) -> new_primQuotInt1(new_primMulNat0(vx7300, vx7200), new_reduce2D2(new_primMulNat0(vx7300, vx7200), vx98)) new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS01(vx12300, vx124000, vx12300, vx124000) new_primModNatS1(Main.Succ(vx17100), Main.Zero) -> Main.Zero new_absReal1(vx1250) -> Main.Pos(Main.Succ(vx1250)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(vx124000)) -> Main.Zero new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primMulNat0(Main.Succ(vx73100), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx72100)) -> Main.Zero new_primDivNatS3(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> Main.Succ(new_primDivNatS3(new_primMinusNatS1(vx12300), Main.Zero)) new_primDivNatS2(Main.Succ(vx740)) -> new_primDivNatS01(vx740, Main.Zero, vx740, Main.Zero) new_srRatio0(CnPc(vx730, Main.Pos(vx7310)), CnPc(vx720, Main.Pos(vx7210))) -> new_reduce2Reduce1(vx730, vx720, new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210), new_primMulNat0(vx7310, vx7210)) new_primModNatS01(vx180, vx181, Main.Succ(vx1820), Main.Zero) -> new_primModNatS02(vx180, vx181) new_primDivNatS3(Main.Zero, vx12400) -> Main.Zero new_gcd21(Main.Zero, Main.Succ(vx1010)) -> new_gcd0Gcd'0(new_absMyInt0(Main.Zero), new_absMyInt0(Main.Succ(vx1010))) new_gcd22(Main.Zero, Main.Succ(vx980)) -> new_gcd0Gcd'0(new_absReal10, new_absMyInt(Main.Succ(vx980))) new_primQuotInt(vx97, Main.Pos(Main.Zero)) -> new_error new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primQuotInt1(vx123, Main.Neg(Main.Zero)) -> new_error new_gcd21(Main.Succ(vx1260), vx101) -> new_gcd0Gcd'0(new_absMyInt0(Main.Succ(vx1260)), new_absMyInt0(vx101)) new_gcd23(Main.Pos(vx7300), Main.Pos(vx7200), vx101) -> new_gcd20(new_primMulNat0(vx7300, vx7200), new_primMulNat0(vx7300, vx7200), vx101) new_primQuotInt2(Main.Neg(vx7300), Main.Neg(vx7200), vx98) -> new_primQuotInt(new_primMulNat0(vx7300, vx7200), new_reduce2D(new_primMulNat0(vx7300, vx7200), vx98)) The set Q consists of the following terms: new_reduce2D1(x0, x1) new_primDivNatS3(Main.Succ(Main.Zero), Main.Succ(x0)) new_fromIntMyInt new_primModNatS01(x0, x1, Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(x0), Main.Zero) new_gcd0Gcd'0(x0, Main.Pos(Main.Zero)) new_primModNatS02(x0, x1) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_gcd24(Main.Neg(x0), Main.Neg(x1), x2) new_primModNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primQuotInt1(x0, Main.Neg(Main.Zero)) new_gcd20(Main.Zero, x0, Main.Zero) new_gcd20(Main.Zero, x0, Main.Succ(x1)) new_absReal1(x0) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_gcd22(Main.Zero, Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(x0))) new_error0 new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Succ(x1)) new_gcd22(Main.Succ(x0), x1) new_gcd20(Main.Succ(x0), x1, x2) new_primQuotInt1(x0, Main.Pos(Main.Zero)) new_primQuotInt0(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS02(x0, x1) new_primModNatS1(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(x0)) new_primRemInt0(Main.Neg(x0), x1) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce10(x0, x1, x2, x3, Main.Succ(x4)) new_primQuotInt2(Main.Neg(x0), Main.Neg(x1), x2) new_error new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_gcd24(Main.Pos(x0), Main.Pos(x1), x2) new_primModNatS1(Main.Zero, x0) new_primRemInt(Main.Neg(x0), x1) new_gcd0Gcd'0(x0, Main.Pos(Main.Succ(x1))) new_primQuotInt(x0, Main.Neg(Main.Succ(x1))) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Pos(x3))) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_reduce2Reduce1(x0, x1, x2, x3, Main.Succ(x4)) new_srRatio(CnPc(x0, Main.Pos(x1))) new_reduce2Reduce1(x0, x1, x2, x3, Main.Zero) new_reduce2Reduce10(x0, x1, x2, x3, Main.Zero) new_gcd23(Main.Pos(x0), Main.Neg(x1), x2) new_gcd23(Main.Neg(x0), Main.Pos(x1), x2) new_gcd0Gcd'0(x0, Main.Neg(Main.Zero)) new_primDivNatS3(Main.Zero, x0) new_primModNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_gcd21(Main.Zero, Main.Succ(x0)) new_absMyInt(Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Zero)) new_absMyInt(Main.Succ(x0)) new_primQuotInt(x0, Main.Neg(Main.Zero)) new_gcd2(Main.Succ(x0), x1) new_absMyInt0(Main.Zero) new_primMulNat1(Main.Zero) new_absReal10 new_primModNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_gcd0(x0, x1) new_primQuotInt(x0, Main.Pos(Main.Zero)) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Neg(x3))) new_primQuotInt1(x0, Main.Neg(Main.Succ(x1))) new_gcd2(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Zero) new_reduce2D(x0, x1) new_gcd22(Main.Zero, Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Zero), Main.Zero) new_reduce2D0(x0, x1) new_primQuotInt1(x0, Main.Pos(Main.Succ(x1))) new_primMinusNatS2 new_primDivNatS1 new_gcd2(Main.Zero, Main.Succ(x0)) new_primQuotInt2(Main.Pos(x0), Main.Neg(x1), x2) new_primQuotInt2(Main.Neg(x0), Main.Pos(x1), x2) new_primDivNatS2(Main.Succ(x0)) new_primMulNat1(Main.Succ(x0)) new_primQuotInt0(Main.Pos(x0), Main.Pos(x1), x2) new_gcd23(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt2(Main.Pos(x0), Main.Pos(x1), x2) new_primQuotInt0(Main.Neg(x0), Main.Neg(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS2(Main.Zero) new_gcd21(Main.Succ(x0), x1) new_absMyInt0(Main.Succ(x0)) new_primDivNatS3(Main.Succ(Main.Succ(x0)), Main.Zero) new_reduce2D2(x0, x1) new_srRatio(CnPc(x0, Main.Neg(x1))) new_primModNatS1(Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(x1))) new_gcd23(Main.Neg(x0), Main.Neg(x1), x2) new_srRatio0(CnPc(x0, Main.Pos(x1)), CnPc(x2, Main.Neg(x3))) new_srRatio0(CnPc(x0, Main.Neg(x1)), CnPc(x2, Main.Pos(x3))) new_primMinusNatS1(x0) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primRemInt(Main.Pos(x0), x1) new_primQuotInt(x0, Main.Pos(Main.Succ(x1))) new_gcd24(Main.Pos(x0), Main.Neg(x1), x2) new_gcd24(Main.Neg(x0), Main.Pos(x1), x2) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_gcd21(Main.Zero, Main.Zero) new_primRemInt0(Main.Pos(x0), x1) new_gcd0Gcd'0(x0, Main.Neg(Main.Succ(x1))) new_primPlusNat0(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (664) 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_pr2F3(Main.Succ(vx740), Main.Succ(vx85000), vx73, vx72) -> new_pr2F3(vx740, vx85000, vx73, vx72) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 ---------------------------------------- (665) YES ---------------------------------------- (666) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (667) 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(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (668) YES ---------------------------------------- (669) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS(vx1650, vx1660) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (670) 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(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS(vx1650, vx1660) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (671) YES ---------------------------------------- (672) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> new_primDivNatS(new_primMinusNatS1(vx12300), Main.Zero) new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS0(vx165, vx166, vx1670, vx1680) new_primDivNatS00(vx165, vx166) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) new_primDivNatS0(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS00(vx165, vx166) new_primDivNatS(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS0(vx12300, vx124000, vx12300, vx124000) new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) new_primDivNatS(Main.Succ(Main.Zero), Main.Zero) -> new_primDivNatS(new_primMinusNatS2, Main.Zero) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS2 new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primMinusNatS1(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (673) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (674) Complex Obligation (AND) ---------------------------------------- (675) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS00(vx165, vx166) new_primDivNatS00(vx165, vx166) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) new_primDivNatS(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS0(vx12300, vx124000, vx12300, vx124000) new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS0(vx165, vx166, vx1670, vx1680) new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS2 new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primMinusNatS1(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (676) 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(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primMinusNatS0(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primDivNatS00(vx165, vx166) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Main.Succ(Main.Succ(vx12300)), Main.Succ(vx124000)) -> new_primDivNatS0(vx12300, vx124000, vx12300, vx124000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Succ(vx1680)) -> new_primDivNatS0(vx165, vx166, vx1670, vx1680) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vx165, vx166, Main.Zero, Main.Zero) -> new_primDivNatS00(vx165, vx166) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vx165, vx166, Main.Succ(vx1670), Main.Zero) -> new_primDivNatS(new_primMinusNatS0(vx165, vx166), Main.Succ(vx166)) (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_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) ---------------------------------------- (677) YES ---------------------------------------- (678) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> new_primDivNatS(new_primMinusNatS1(vx12300), Main.Zero) The TRS R consists of the following rules: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS2 new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primMinusNatS1(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (679) 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(Main.Succ(Main.Succ(vx12300)), Main.Zero) -> new_primDivNatS(new_primMinusNatS1(vx12300), Main.Zero) Strictly oriented rules of the TRS R: new_primMinusNatS0(Main.Succ(vx1650), Main.Succ(vx1660)) -> new_primMinusNatS0(vx1650, vx1660) new_primMinusNatS0(Main.Succ(vx1650), Main.Zero) -> Main.Succ(vx1650) new_primMinusNatS0(Main.Zero, Main.Zero) -> Main.Zero new_primMinusNatS0(Main.Zero, Main.Succ(vx1660)) -> Main.Zero Used ordering: Polynomial interpretation [POLO]: POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 2 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(new_primMinusNatS1(x_1)) = 1 + x_1 POL(new_primMinusNatS2) = 2 ---------------------------------------- (680) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1(vx12300) -> Main.Succ(vx12300) new_primMinusNatS2 -> Main.Zero The set Q consists of the following terms: new_primMinusNatS0(Main.Zero, Main.Zero) new_primMinusNatS0(Main.Zero, Main.Succ(x0)) new_primMinusNatS2 new_primMinusNatS0(Main.Succ(x0), Main.Zero) new_primMinusNatS0(Main.Succ(x0), Main.Succ(x1)) new_primMinusNatS1(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (681) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (682) YES ---------------------------------------- (683) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (esEsMyInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="burlywood",shape="box"];3969[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 3969[label="",style="solid", color="burlywood", weight=9]; 3969 -> 8[label="",style="solid", color="burlywood", weight=3]; 3970[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 3970[label="",style="solid", color="burlywood", weight=9]; 3970 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vx40) (fromIntMyInt (Pos Zero))) vx3 (Pos vx40)",fontsize=16,color="burlywood",shape="box"];3971[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];8 -> 3971[label="",style="solid", color="burlywood", weight=9]; 3971 -> 10[label="",style="solid", color="burlywood", weight=3]; 3972[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 3972[label="",style="solid", color="burlywood", weight=9]; 3972 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vx40) (fromIntMyInt (Pos Zero))) vx3 (Neg vx40)",fontsize=16,color="burlywood",shape="box"];3973[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];9 -> 3973[label="",style="solid", color="burlywood", weight=9]; 3973 -> 12[label="",style="solid", color="burlywood", weight=3]; 3974[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 3974[label="",style="solid", color="burlywood", weight=9]; 3974 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vx400)) (Pos Zero)) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vx400)) (Pos Zero)) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromIntRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromIntRatio (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vx3 (Pos (Succ vx400)) (gtMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 28[label="pr2Pr1 vx3 (Neg (Succ vx400)) (gtMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (compareMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 30[label="CnPc (fromIntMyInt (Pos (Succ Zero))) (fromIntMyInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 30 -> 34[label="",style="dashed", color="green", weight=3]; 31[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (compareMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 34 -> 33[label="",style="dashed", color="red", weight=0]; 34[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering LT GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering GT GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 42[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 43[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 44[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 45 -> 47[label="",style="dashed", color="red", weight=0]; 45[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos (Succ Zero)))) vx3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 46[label="error",fontsize=16,color="black",shape="triangle"];46 -> 49[label="",style="solid", color="black", weight=3]; 48 -> 33[label="",style="dashed", color="red", weight=0]; 48[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 49[label="stop MyTrue",fontsize=16,color="black",shape="box"];49 -> 51[label="",style="solid", color="black", weight=3]; 50[label="pr2F4 vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];50 -> 52[label="",style="solid", color="black", weight=3]; 51[label="error []",fontsize=16,color="red",shape="box"];52[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];53 -> 54[label="",style="solid", color="black", weight=3]; 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="burlywood",shape="box"];3975[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];54 -> 3975[label="",style="solid", color="burlywood", weight=9]; 3975 -> 55[label="",style="solid", color="burlywood", weight=3]; 3976[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];54 -> 3976[label="",style="solid", color="burlywood", weight=9]; 3976 -> 56[label="",style="solid", color="burlywood", weight=3]; 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Pos vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Pos vx50)) vx3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Neg vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Neg vx50)) vx3",fontsize=16,color="black",shape="box"];56 -> 58[label="",style="solid", color="black", weight=3]; 57[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) vx50) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) vx50) vx3",fontsize=16,color="burlywood",shape="box"];3977[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];57 -> 3977[label="",style="solid", color="burlywood", weight=9]; 3977 -> 59[label="",style="solid", color="burlywood", weight=3]; 3978[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 3978[label="",style="solid", color="burlywood", weight=9]; 3978 -> 60[label="",style="solid", color="burlywood", weight=3]; 58[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) vx50)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) vx50)) vx3",fontsize=16,color="burlywood",shape="box"];3979[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];58 -> 3979[label="",style="solid", color="burlywood", weight=9]; 3979 -> 61[label="",style="solid", color="burlywood", weight=3]; 3980[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 3980[label="",style="solid", color="burlywood", weight=9]; 3980 -> 62[label="",style="solid", color="burlywood", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) (Succ vx500)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) (Succ vx500)) vx3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) Zero) vx3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) (Succ vx500))) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) (Succ vx500))) vx3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 62[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) Zero)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) Zero)) vx3",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 63[label="pr2F3 (primEqInt (primMinusNat vx400 vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx400 vx500) vx3",fontsize=16,color="burlywood",shape="triangle"];3981[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];63 -> 3981[label="",style="solid", color="burlywood", weight=9]; 3981 -> 67[label="",style="solid", color="burlywood", weight=3]; 3982[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 3982[label="",style="solid", color="burlywood", weight=9]; 3982 -> 68[label="",style="solid", color="burlywood", weight=3]; 64 -> 418[label="",style="dashed", color="red", weight=0]; 64[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];64 -> 419[label="",style="dashed", color="magenta", weight=3]; 64 -> 420[label="",style="dashed", color="magenta", weight=3]; 64 -> 421[label="",style="dashed", color="magenta", weight=3]; 65 -> 418[label="",style="dashed", color="red", weight=0]; 65[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vx400 vx500)))) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ (Succ (primPlusNat vx400 vx500)))) vx3",fontsize=16,color="magenta"];65 -> 422[label="",style="dashed", color="magenta", weight=3]; 65 -> 423[label="",style="dashed", color="magenta", weight=3]; 65 -> 424[label="",style="dashed", color="magenta", weight=3]; 66 -> 418[label="",style="dashed", color="red", weight=0]; 66[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];66 -> 425[label="",style="dashed", color="magenta", weight=3]; 66 -> 426[label="",style="dashed", color="magenta", weight=3]; 66 -> 427[label="",style="dashed", color="magenta", weight=3]; 67[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) vx500) vx3",fontsize=16,color="burlywood",shape="box"];3983[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 3983[label="",style="solid", color="burlywood", weight=9]; 3983 -> 71[label="",style="solid", color="burlywood", weight=3]; 3984[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 3984[label="",style="solid", color="burlywood", weight=9]; 3984 -> 72[label="",style="solid", color="burlywood", weight=3]; 68[label="pr2F3 (primEqInt (primMinusNat Zero vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero vx500) vx3",fontsize=16,color="burlywood",shape="box"];3985[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];68 -> 3985[label="",style="solid", color="burlywood", weight=9]; 3985 -> 73[label="",style="solid", color="burlywood", weight=3]; 3986[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];68 -> 3986[label="",style="solid", color="burlywood", weight=9]; 3986 -> 74[label="",style="solid", color="burlywood", weight=3]; 419[label="vx400",fontsize=16,color="green",shape="box"];420[label="vx3",fontsize=16,color="green",shape="box"];421[label="vx3",fontsize=16,color="green",shape="box"];418[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (fromIntMyInt (Pos Zero))) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="triangle"];418 -> 432[label="",style="solid", color="black", weight=3]; 422[label="Succ (primPlusNat vx400 vx500)",fontsize=16,color="green",shape="box"];422 -> 433[label="",style="dashed", color="green", weight=3]; 423[label="vx3",fontsize=16,color="green",shape="box"];424[label="vx3",fontsize=16,color="green",shape="box"];425[label="vx400",fontsize=16,color="green",shape="box"];426[label="vx3",fontsize=16,color="green",shape="box"];427[label="vx3",fontsize=16,color="green",shape="box"];71[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) Zero) vx3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 73[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 74[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero Zero) vx3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 432[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (Pos Zero)) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];432 -> 440[label="",style="solid", color="black", weight=3]; 433 -> 76[label="",style="dashed", color="red", weight=0]; 433[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];77 -> 63[label="",style="dashed", color="red", weight=0]; 77[label="pr2F3 (primEqInt (primMinusNat vx4000 vx5000) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx4000 vx5000) vx3",fontsize=16,color="magenta"];77 -> 84[label="",style="dashed", color="magenta", weight=3]; 77 -> 85[label="",style="dashed", color="magenta", weight=3]; 78 -> 418[label="",style="dashed", color="red", weight=0]; 78[label="pr2F3 (primEqInt (Pos (Succ vx4000)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx4000)) vx3",fontsize=16,color="magenta"];78 -> 428[label="",style="dashed", color="magenta", weight=3]; 78 -> 429[label="",style="dashed", color="magenta", weight=3]; 78 -> 430[label="",style="dashed", color="magenta", weight=3]; 79[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 80 -> 436[label="",style="dashed", color="red", weight=0]; 80[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero) vx3",fontsize=16,color="magenta"];80 -> 437[label="",style="dashed", color="magenta", weight=3]; 80 -> 438[label="",style="dashed", color="magenta", weight=3]; 440[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 76[label="primPlusNat vx400 vx500",fontsize=16,color="burlywood",shape="triangle"];3987[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];76 -> 3987[label="",style="solid", color="burlywood", weight=9]; 3987 -> 82[label="",style="solid", color="burlywood", weight=3]; 3988[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 3988[label="",style="solid", color="burlywood", weight=9]; 3988 -> 83[label="",style="solid", color="burlywood", weight=3]; 84[label="vx5000",fontsize=16,color="green",shape="box"];85[label="vx4000",fontsize=16,color="green",shape="box"];428[label="vx4000",fontsize=16,color="green",shape="box"];429[label="vx3",fontsize=16,color="green",shape="box"];430[label="vx3",fontsize=16,color="green",shape="box"];87 -> 775[label="",style="dashed", color="red", weight=0]; 87[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (Pos Zero)) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="magenta"];87 -> 776[label="",style="dashed", color="magenta", weight=3]; 87 -> 777[label="",style="dashed", color="magenta", weight=3]; 87 -> 778[label="",style="dashed", color="magenta", weight=3]; 87 -> 779[label="",style="dashed", color="magenta", weight=3]; 437[label="vx3",fontsize=16,color="green",shape="box"];438[label="vx3",fontsize=16,color="green",shape="box"];436[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="triangle"];436 -> 441[label="",style="solid", color="black", weight=3]; 444[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];444 -> 448[label="",style="solid", color="black", weight=3]; 82[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="box"];3989[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 3989[label="",style="solid", color="burlywood", weight=9]; 3989 -> 90[label="",style="solid", color="burlywood", weight=3]; 3990[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 3990[label="",style="solid", color="burlywood", weight=9]; 3990 -> 91[label="",style="solid", color="burlywood", weight=3]; 83[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="box"];3991[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];83 -> 3991[label="",style="solid", color="burlywood", weight=9]; 3991 -> 92[label="",style="solid", color="burlywood", weight=3]; 3992[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];83 -> 3992[label="",style="solid", color="burlywood", weight=9]; 3992 -> 93[label="",style="solid", color="burlywood", weight=3]; 776[label="vx3",fontsize=16,color="green",shape="box"];777[label="vx5000",fontsize=16,color="green",shape="box"];778[label="vx3",fontsize=16,color="green",shape="box"];779[label="Succ vx5000",fontsize=16,color="green",shape="box"];775[label="pr2F3 (primEqInt (Neg (Succ vx620)) (Pos Zero)) vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="triangle"];775 -> 781[label="",style="solid", color="black", weight=3]; 441[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 448 -> 792[label="",style="dashed", color="red", weight=0]; 448[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];448 -> 793[label="",style="dashed", color="magenta", weight=3]; 448 -> 794[label="",style="dashed", color="magenta", weight=3]; 448 -> 795[label="",style="dashed", color="magenta", weight=3]; 90[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 781[label="pr2F3 MyFalse vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="box"];781 -> 797[label="",style="solid", color="black", weight=3]; 445[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];445 -> 449[label="",style="solid", color="black", weight=3]; 793[label="Succ vx23000",fontsize=16,color="green",shape="box"];794[label="vx12",fontsize=16,color="green",shape="box"];795[label="vx33",fontsize=16,color="green",shape="box"];792[label="pr2F0G vx68 vx44 (Pos vx59)",fontsize=16,color="black",shape="triangle"];792 -> 798[label="",style="solid", color="black", weight=3]; 97[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];97 -> 104[label="",style="dashed", color="green", weight=3]; 98[label="Succ vx4000",fontsize=16,color="green",shape="box"];99[label="Succ vx5000",fontsize=16,color="green",shape="box"];100[label="Zero",fontsize=16,color="green",shape="box"];797[label="pr2F0 vx50 (Neg vx61) vx67",fontsize=16,color="black",shape="box"];797 -> 799[label="",style="solid", color="black", weight=3]; 449[label="vx34",fontsize=16,color="green",shape="box"];798[label="pr2F0G2 vx68 vx44 (Pos vx59)",fontsize=16,color="black",shape="box"];798 -> 800[label="",style="solid", color="black", weight=3]; 104 -> 76[label="",style="dashed", color="red", weight=0]; 104[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];104 -> 107[label="",style="dashed", color="magenta", weight=3]; 104 -> 108[label="",style="dashed", color="magenta", weight=3]; 799[label="pr2F0G vx67 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];799 -> 801[label="",style="solid", color="black", weight=3]; 800[label="pr2F0G1 vx68 vx44 (Pos vx59) (evenMyInt (Pos vx59))",fontsize=16,color="black",shape="box"];800 -> 802[label="",style="solid", color="black", weight=3]; 107[label="vx5000",fontsize=16,color="green",shape="box"];108[label="vx4000",fontsize=16,color="green",shape="box"];801[label="pr2F0G2 vx67 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];801 -> 803[label="",style="solid", color="black", weight=3]; 802[label="pr2F0G1 vx68 vx44 (Pos vx59) (primEvenInt (Pos vx59))",fontsize=16,color="black",shape="triangle"];802 -> 804[label="",style="solid", color="black", weight=3]; 803[label="pr2F0G1 vx67 vx50 (Neg vx61) (evenMyInt (Neg vx61))",fontsize=16,color="black",shape="box"];803 -> 805[label="",style="solid", color="black", weight=3]; 804[label="pr2F0G1 vx68 vx44 (Pos vx59) (primEvenNat vx59)",fontsize=16,color="burlywood",shape="box"];3993[label="vx59/Succ vx590",fontsize=10,color="white",style="solid",shape="box"];804 -> 3993[label="",style="solid", color="burlywood", weight=9]; 3993 -> 806[label="",style="solid", color="burlywood", weight=3]; 3994[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];804 -> 3994[label="",style="solid", color="burlywood", weight=9]; 3994 -> 807[label="",style="solid", color="burlywood", weight=3]; 805[label="pr2F0G1 vx67 vx50 (Neg vx61) (primEvenInt (Neg vx61))",fontsize=16,color="black",shape="triangle"];805 -> 808[label="",style="solid", color="black", weight=3]; 806[label="pr2F0G1 vx68 vx44 (Pos (Succ vx590)) (primEvenNat (Succ vx590))",fontsize=16,color="burlywood",shape="box"];3995[label="vx590/Succ vx5900",fontsize=10,color="white",style="solid",shape="box"];806 -> 3995[label="",style="solid", color="burlywood", weight=9]; 3995 -> 809[label="",style="solid", color="burlywood", weight=3]; 3996[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];806 -> 3996[label="",style="solid", color="burlywood", weight=9]; 3996 -> 810[label="",style="solid", color="burlywood", weight=3]; 807[label="pr2F0G1 vx68 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];807 -> 811[label="",style="solid", color="black", weight=3]; 808[label="pr2F0G1 vx67 vx50 (Neg vx61) (primEvenNat vx61)",fontsize=16,color="burlywood",shape="box"];3997[label="vx61/Succ vx610",fontsize=10,color="white",style="solid",shape="box"];808 -> 3997[label="",style="solid", color="burlywood", weight=9]; 3997 -> 812[label="",style="solid", color="burlywood", weight=3]; 3998[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];808 -> 3998[label="",style="solid", color="burlywood", weight=9]; 3998 -> 813[label="",style="solid", color="burlywood", weight=3]; 809[label="pr2F0G1 vx68 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat (Succ (Succ vx5900)))",fontsize=16,color="black",shape="box"];809 -> 814[label="",style="solid", color="black", weight=3]; 810[label="pr2F0G1 vx68 vx44 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];810 -> 815[label="",style="solid", color="black", weight=3]; 811[label="pr2F0G1 vx68 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];811 -> 816[label="",style="solid", color="black", weight=3]; 812[label="pr2F0G1 vx67 vx50 (Neg (Succ vx610)) (primEvenNat (Succ vx610))",fontsize=16,color="burlywood",shape="box"];3999[label="vx610/Succ vx6100",fontsize=10,color="white",style="solid",shape="box"];812 -> 3999[label="",style="solid", color="burlywood", weight=9]; 3999 -> 817[label="",style="solid", color="burlywood", weight=3]; 4000[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];812 -> 4000[label="",style="solid", color="burlywood", weight=9]; 4000 -> 818[label="",style="solid", color="burlywood", weight=3]; 813[label="pr2F0G1 vx67 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];813 -> 819[label="",style="solid", color="black", weight=3]; 814 -> 886[label="",style="dashed", color="red", weight=0]; 814[label="pr2F0G1 vx68 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];814 -> 887[label="",style="dashed", color="magenta", weight=3]; 814 -> 888[label="",style="dashed", color="magenta", weight=3]; 814 -> 889[label="",style="dashed", color="magenta", weight=3]; 814 -> 890[label="",style="dashed", color="magenta", weight=3]; 815[label="pr2F0G1 vx68 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];815 -> 822[label="",style="solid", color="black", weight=3]; 816[label="pr2F0G vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 823[label="",style="solid", color="black", weight=3]; 817[label="pr2F0G1 vx67 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat (Succ (Succ vx6100)))",fontsize=16,color="black",shape="box"];817 -> 824[label="",style="solid", color="black", weight=3]; 818[label="pr2F0G1 vx67 vx50 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];818 -> 825[label="",style="solid", color="black", weight=3]; 819[label="pr2F0G1 vx67 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];819 -> 826[label="",style="solid", color="black", weight=3]; 887[label="vx68",fontsize=16,color="green",shape="box"];888[label="vx44",fontsize=16,color="green",shape="box"];889[label="vx5900",fontsize=16,color="green",shape="box"];890[label="Succ vx5900",fontsize=16,color="green",shape="box"];886[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat vx75)",fontsize=16,color="burlywood",shape="triangle"];4001[label="vx75/Succ vx750",fontsize=10,color="white",style="solid",shape="box"];886 -> 4001[label="",style="solid", color="burlywood", weight=9]; 4001 -> 899[label="",style="solid", color="burlywood", weight=3]; 4002[label="vx75/Zero",fontsize=10,color="white",style="solid",shape="box"];886 -> 4002[label="",style="solid", color="burlywood", weight=9]; 4002 -> 900[label="",style="solid", color="burlywood", weight=3]; 822[label="pr2F0G0 vx68 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];822 -> 830[label="",style="solid", color="black", weight=3]; 823[label="pr2F0G2 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];823 -> 831[label="",style="solid", color="black", weight=3]; 824 -> 917[label="",style="dashed", color="red", weight=0]; 824[label="pr2F0G1 vx67 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];824 -> 918[label="",style="dashed", color="magenta", weight=3]; 824 -> 919[label="",style="dashed", color="magenta", weight=3]; 824 -> 920[label="",style="dashed", color="magenta", weight=3]; 824 -> 921[label="",style="dashed", color="magenta", weight=3]; 825[label="pr2F0G1 vx67 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];825 -> 834[label="",style="solid", color="black", weight=3]; 826[label="pr2F0G vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];826 -> 835[label="",style="solid", color="black", weight=3]; 899[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ vx750))",fontsize=16,color="burlywood",shape="box"];4003[label="vx750/Succ vx7500",fontsize=10,color="white",style="solid",shape="box"];899 -> 4003[label="",style="solid", color="burlywood", weight=9]; 4003 -> 911[label="",style="solid", color="burlywood", weight=3]; 4004[label="vx750/Zero",fontsize=10,color="white",style="solid",shape="box"];899 -> 4004[label="",style="solid", color="burlywood", weight=9]; 4004 -> 912[label="",style="solid", color="burlywood", weight=3]; 900[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];900 -> 913[label="",style="solid", color="black", weight=3]; 830[label="pr2F0G0 vx68 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];830 -> 839[label="",style="solid", color="black", weight=3]; 831[label="pr2F0G1 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 840[label="",style="solid", color="black", weight=3]; 918[label="vx67",fontsize=16,color="green",shape="box"];919[label="vx6100",fontsize=16,color="green",shape="box"];920[label="Succ vx6100",fontsize=16,color="green",shape="box"];921[label="vx50",fontsize=16,color="green",shape="box"];917[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat vx80)",fontsize=16,color="burlywood",shape="triangle"];4005[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];917 -> 4005[label="",style="solid", color="burlywood", weight=9]; 4005 -> 930[label="",style="solid", color="burlywood", weight=3]; 4006[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];917 -> 4006[label="",style="solid", color="burlywood", weight=9]; 4006 -> 931[label="",style="solid", color="burlywood", weight=3]; 834[label="pr2F0G0 vx67 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];834 -> 844[label="",style="solid", color="black", weight=3]; 835[label="pr2F0G2 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];835 -> 845[label="",style="solid", color="black", weight=3]; 911[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ (Succ vx7500)))",fontsize=16,color="black",shape="box"];911 -> 932[label="",style="solid", color="black", weight=3]; 912[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];912 -> 933[label="",style="solid", color="black", weight=3]; 913[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) MyTrue",fontsize=16,color="black",shape="box"];913 -> 934[label="",style="solid", color="black", weight=3]; 839 -> 976[label="",style="dashed", color="red", weight=0]; 839[label="pr2F vx44 (msMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx44 vx68)",fontsize=16,color="magenta"];839 -> 977[label="",style="dashed", color="magenta", weight=3]; 839 -> 978[label="",style="dashed", color="magenta", weight=3]; 839 -> 979[label="",style="dashed", color="magenta", weight=3]; 839 -> 980[label="",style="dashed", color="magenta", weight=3]; 840[label="pr2F0G1 vx68 (srRatio vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 930[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ vx800))",fontsize=16,color="burlywood",shape="box"];4007[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];930 -> 4007[label="",style="solid", color="burlywood", weight=9]; 4007 -> 941[label="",style="solid", color="burlywood", weight=3]; 4008[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];930 -> 4008[label="",style="solid", color="burlywood", weight=9]; 4008 -> 942[label="",style="solid", color="burlywood", weight=3]; 931[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];931 -> 943[label="",style="solid", color="black", weight=3]; 844[label="pr2F0G0 vx67 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];844 -> 856[label="",style="solid", color="black", weight=3]; 845[label="pr2F0G1 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];845 -> 857[label="",style="solid", color="black", weight=3]; 932 -> 886[label="",style="dashed", color="red", weight=0]; 932[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) (primEvenNat vx7500)",fontsize=16,color="magenta"];932 -> 944[label="",style="dashed", color="magenta", weight=3]; 933[label="pr2F0G1 vx72 vx73 (Pos (Succ vx74)) MyFalse",fontsize=16,color="black",shape="box"];933 -> 945[label="",style="solid", color="black", weight=3]; 934 -> 946[label="",style="dashed", color="red", weight=0]; 934[label="pr2F0G vx72 (srRatio vx73 vx73) (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];934 -> 947[label="",style="dashed", color="magenta", weight=3]; 977 -> 33[label="",style="dashed", color="red", weight=0]; 977[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];978[label="vx68",fontsize=16,color="green",shape="box"];979[label="vx44",fontsize=16,color="green",shape="box"];980[label="Zero",fontsize=16,color="green",shape="box"];976[label="pr2F vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="triangle"];976 -> 986[label="",style="solid", color="black", weight=3]; 852[label="pr2F0G1 vx68 (srRatio vx44 vx44) (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];852 -> 864[label="",style="solid", color="black", weight=3]; 941[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ (Succ vx8000)))",fontsize=16,color="black",shape="box"];941 -> 948[label="",style="solid", color="black", weight=3]; 942[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];942 -> 949[label="",style="solid", color="black", weight=3]; 943[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) MyTrue",fontsize=16,color="black",shape="box"];943 -> 950[label="",style="solid", color="black", weight=3]; 856 -> 995[label="",style="dashed", color="red", weight=0]; 856[label="pr2F vx50 (msMyInt (Neg (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx50 vx67)",fontsize=16,color="magenta"];856 -> 996[label="",style="dashed", color="magenta", weight=3]; 856 -> 997[label="",style="dashed", color="magenta", weight=3]; 856 -> 998[label="",style="dashed", color="magenta", weight=3]; 856 -> 999[label="",style="dashed", color="magenta", weight=3]; 857[label="pr2F0G1 vx67 (srRatio vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];857 -> 871[label="",style="solid", color="black", weight=3]; 944[label="vx7500",fontsize=16,color="green",shape="box"];945[label="pr2F0G0 vx72 vx73 (Pos (Succ vx74)) otherwise",fontsize=16,color="black",shape="box"];945 -> 951[label="",style="solid", color="black", weight=3]; 947 -> 903[label="",style="dashed", color="red", weight=0]; 947[label="srRatio vx73 vx73",fontsize=16,color="magenta"];947 -> 952[label="",style="dashed", color="magenta", weight=3]; 946[label="pr2F0G vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];946 -> 953[label="",style="solid", color="black", weight=3]; 986[label="pr2F4 vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];986 -> 993[label="",style="solid", color="black", weight=3]; 864[label="pr2F0G1 vx68 (srRatio vx44 vx44) (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];864 -> 878[label="",style="solid", color="black", weight=3]; 948 -> 917[label="",style="dashed", color="red", weight=0]; 948[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) (primEvenNat vx8000)",fontsize=16,color="magenta"];948 -> 959[label="",style="dashed", color="magenta", weight=3]; 949[label="pr2F0G1 vx77 vx78 (Neg (Succ vx79)) MyFalse",fontsize=16,color="black",shape="box"];949 -> 960[label="",style="solid", color="black", weight=3]; 950 -> 961[label="",style="dashed", color="red", weight=0]; 950[label="pr2F0G vx77 (srRatio vx78 vx78) (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];950 -> 962[label="",style="dashed", color="magenta", weight=3]; 996[label="vx67",fontsize=16,color="green",shape="box"];997[label="Zero",fontsize=16,color="green",shape="box"];998 -> 33[label="",style="dashed", color="red", weight=0]; 998[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];999[label="vx50",fontsize=16,color="green",shape="box"];995[label="pr2F vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="triangle"];995 -> 1005[label="",style="solid", color="black", weight=3]; 871[label="pr2F0G1 vx67 (srRatio vx50 vx50) (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];871 -> 885[label="",style="solid", color="black", weight=3]; 951[label="pr2F0G0 vx72 vx73 (Pos (Succ vx74)) MyTrue",fontsize=16,color="black",shape="box"];951 -> 963[label="",style="solid", color="black", weight=3]; 952[label="vx73",fontsize=16,color="green",shape="box"];903[label="srRatio vx44 vx44",fontsize=16,color="burlywood",shape="triangle"];4009[label="vx44/CnPc vx440 vx441",fontsize=10,color="white",style="solid",shape="box"];903 -> 4009[label="",style="solid", color="burlywood", weight=9]; 4009 -> 916[label="",style="solid", color="burlywood", weight=3]; 953[label="pr2F0G2 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];953 -> 964[label="",style="solid", color="black", weight=3]; 993[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];993 -> 1006[label="",style="solid", color="black", weight=3]; 878 -> 802[label="",style="dashed", color="red", weight=0]; 878[label="pr2F0G1 vx68 (srRatio vx44 vx44) (Pos (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];878 -> 902[label="",style="dashed", color="magenta", weight=3]; 878 -> 903[label="",style="dashed", color="magenta", weight=3]; 959[label="vx8000",fontsize=16,color="green",shape="box"];960[label="pr2F0G0 vx77 vx78 (Neg (Succ vx79)) otherwise",fontsize=16,color="black",shape="box"];960 -> 965[label="",style="solid", color="black", weight=3]; 962 -> 903[label="",style="dashed", color="red", weight=0]; 962[label="srRatio vx78 vx78",fontsize=16,color="magenta"];962 -> 966[label="",style="dashed", color="magenta", weight=3]; 961[label="pr2F0G vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];961 -> 967[label="",style="solid", color="black", weight=3]; 1005[label="pr2F4 vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1005 -> 1010[label="",style="solid", color="black", weight=3]; 885[label="pr2F0G1 vx67 (srRatio vx50 vx50) (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];885 -> 910[label="",style="solid", color="black", weight=3]; 963 -> 976[label="",style="dashed", color="red", weight=0]; 963[label="pr2F vx73 (msMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx73 vx72)",fontsize=16,color="magenta"];963 -> 985[label="",style="dashed", color="magenta", weight=3]; 916[label="srRatio (CnPc vx440 vx441) (CnPc vx440 vx441)",fontsize=16,color="black",shape="box"];916 -> 940[label="",style="solid", color="black", weight=3]; 964[label="pr2F0G1 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];964 -> 987[label="",style="solid", color="black", weight=3]; 1006[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (msMyInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1006 -> 1011[label="",style="solid", color="black", weight=3]; 902[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];902 -> 915[label="",style="solid", color="black", weight=3]; 965[label="pr2F0G0 vx77 vx78 (Neg (Succ vx79)) MyTrue",fontsize=16,color="black",shape="box"];965 -> 988[label="",style="solid", color="black", weight=3]; 966[label="vx78",fontsize=16,color="green",shape="box"];967[label="pr2F0G2 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];967 -> 989[label="",style="solid", color="black", weight=3]; 1010[label="pr2F3 (esEsMyInt (msMyInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1010 -> 1016[label="",style="solid", color="black", weight=3]; 910 -> 805[label="",style="dashed", color="red", weight=0]; 910[label="pr2F0G1 vx67 (srRatio vx50 vx50) (Neg (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];910 -> 936[label="",style="dashed", color="magenta", weight=3]; 910 -> 937[label="",style="dashed", color="magenta", weight=3]; 985 -> 33[label="",style="dashed", color="red", weight=0]; 985[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];940[label="reduce (srMyInt vx440 vx440) (srMyInt vx441 vx441)",fontsize=16,color="black",shape="box"];940 -> 958[label="",style="solid", color="black", weight=3]; 987[label="pr2F0G1 vx72 vx81 (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];987 -> 994[label="",style="solid", color="black", weight=3]; 1011[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) vx85) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) vx85) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4010[label="vx85/Pos vx850",fontsize=10,color="white",style="solid",shape="box"];1011 -> 4010[label="",style="solid", color="burlywood", weight=9]; 4010 -> 1017[label="",style="solid", color="burlywood", weight=3]; 4011[label="vx85/Neg vx850",fontsize=10,color="white",style="solid",shape="box"];1011 -> 4011[label="",style="solid", color="burlywood", weight=9]; 4011 -> 1018[label="",style="solid", color="burlywood", weight=3]; 915[label="Zero",fontsize=16,color="green",shape="box"];988 -> 995[label="",style="dashed", color="red", weight=0]; 988[label="pr2F vx78 (msMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ Zero)))) (srRatio vx78 vx77)",fontsize=16,color="magenta"];988 -> 1004[label="",style="dashed", color="magenta", weight=3]; 989[label="pr2F0G1 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];989 -> 1007[label="",style="solid", color="black", weight=3]; 1016[label="pr2F3 (primEqInt (msMyInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (msMyInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1016 -> 1025[label="",style="solid", color="black", weight=3]; 936 -> 903[label="",style="dashed", color="red", weight=0]; 936[label="srRatio vx50 vx50",fontsize=16,color="magenta"];936 -> 955[label="",style="dashed", color="magenta", weight=3]; 937 -> 902[label="",style="dashed", color="red", weight=0]; 937[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];958[label="reduce2 (srMyInt vx440 vx440) (srMyInt vx441 vx441)",fontsize=16,color="black",shape="box"];958 -> 968[label="",style="solid", color="black", weight=3]; 994[label="pr2F0G1 vx72 vx81 (primQuotInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos (Succ vx74)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];994 -> 1008[label="",style="solid", color="black", weight=3]; 1017[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) (Pos vx850)) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) (Pos vx850)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1017 -> 1026[label="",style="solid", color="black", weight=3]; 1018[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx74)) (Neg vx850)) (fromIntMyInt (Pos Zero))) vx73 (primMinusInt (Pos (Succ vx74)) (Neg vx850)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1018 -> 1027[label="",style="solid", color="black", weight=3]; 1004 -> 33[label="",style="dashed", color="red", weight=0]; 1004[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];1007[label="pr2F0G1 vx77 vx82 (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];1007 -> 1012[label="",style="solid", color="black", weight=3]; 1025[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) vx86) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) vx86) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="box"];4012[label="vx86/Pos vx860",fontsize=10,color="white",style="solid",shape="box"];1025 -> 4012[label="",style="solid", color="burlywood", weight=9]; 4012 -> 1033[label="",style="solid", color="burlywood", weight=3]; 4013[label="vx86/Neg vx860",fontsize=10,color="white",style="solid",shape="box"];1025 -> 4013[label="",style="solid", color="burlywood", weight=9]; 4013 -> 1034[label="",style="solid", color="burlywood", weight=3]; 955[label="vx50",fontsize=16,color="green",shape="box"];968[label="reduce2Reduce1 (srMyInt vx440 vx440) (srMyInt vx441 vx441) (srMyInt vx440 vx440) (srMyInt vx441 vx441) (esEsMyInt (srMyInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];968 -> 990[label="",style="solid", color="black", weight=3]; 1008[label="pr2F0G1 vx72 vx81 (primQuotInt (Pos (Succ vx74)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos (Succ vx74)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1008 -> 1013[label="",style="solid", color="black", weight=3]; 1026[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) vx850) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) vx850) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4014[label="vx850/Succ vx8500",fontsize=10,color="white",style="solid",shape="box"];1026 -> 4014[label="",style="solid", color="burlywood", weight=9]; 4014 -> 1035[label="",style="solid", color="burlywood", weight=3]; 4015[label="vx850/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 4015[label="",style="solid", color="burlywood", weight=9]; 4015 -> 1036[label="",style="solid", color="burlywood", weight=3]; 1027 -> 1037[label="",style="dashed", color="red", weight=0]; 1027[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx74) vx850)) (fromIntMyInt (Pos Zero))) vx73 (Pos (primPlusNat (Succ vx74) vx850)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1027 -> 1038[label="",style="dashed", color="magenta", weight=3]; 1027 -> 1039[label="",style="dashed", color="magenta", weight=3]; 1012[label="pr2F0G1 vx77 vx82 (primQuotInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg (Succ vx79)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];1012 -> 1019[label="",style="solid", color="black", weight=3]; 1033[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) (Pos vx860)) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) (Pos vx860)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1033 -> 1040[label="",style="solid", color="black", weight=3]; 1034[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx79)) (Neg vx860)) (fromIntMyInt (Pos Zero))) vx78 (primMinusInt (Neg (Succ vx79)) (Neg vx860)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1034 -> 1041[label="",style="solid", color="black", weight=3]; 990[label="reduce2Reduce1 (srMyInt vx440 vx440) (srMyInt vx441 vx441) (srMyInt vx440 vx440) (srMyInt vx441 vx441) (primEqInt (srMyInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];990 -> 1009[label="",style="solid", color="black", weight=3]; 1013 -> 802[label="",style="dashed", color="red", weight=0]; 1013[label="pr2F0G1 vx72 vx81 (Pos (primDivNatS (Succ vx74) (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS (Succ vx74) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1013 -> 1020[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1021[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1035[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) (Succ vx8500)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) (Succ vx8500)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1035 -> 1042[label="",style="solid", color="black", weight=3]; 1036[label="pr2F3 (primEqInt (primMinusNat (Succ vx74) Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx74) Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1036 -> 1043[label="",style="solid", color="black", weight=3]; 1038 -> 76[label="",style="dashed", color="red", weight=0]; 1038[label="primPlusNat (Succ vx74) vx850",fontsize=16,color="magenta"];1038 -> 1044[label="",style="dashed", color="magenta", weight=3]; 1038 -> 1045[label="",style="dashed", color="magenta", weight=3]; 1039 -> 76[label="",style="dashed", color="red", weight=0]; 1039[label="primPlusNat (Succ vx74) vx850",fontsize=16,color="magenta"];1039 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1039 -> 1047[label="",style="dashed", color="magenta", weight=3]; 1037[label="pr2F3 (primEqInt (Pos vx88) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="triangle"];4016[label="vx88/Succ vx880",fontsize=10,color="white",style="solid",shape="box"];1037 -> 4016[label="",style="solid", color="burlywood", weight=9]; 4016 -> 1048[label="",style="solid", color="burlywood", weight=3]; 4017[label="vx88/Zero",fontsize=10,color="white",style="solid",shape="box"];1037 -> 4017[label="",style="solid", color="burlywood", weight=9]; 4017 -> 1049[label="",style="solid", color="burlywood", weight=3]; 1019[label="pr2F0G1 vx77 vx82 (primQuotInt (Neg (Succ vx79)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg (Succ vx79)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1019 -> 1028[label="",style="solid", color="black", weight=3]; 1040 -> 1057[label="",style="dashed", color="red", weight=0]; 1040[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vx79) vx860)) (fromIntMyInt (Pos Zero))) vx78 (Neg (primPlusNat (Succ vx79) vx860)) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1040 -> 1058[label="",style="dashed", color="magenta", weight=3]; 1040 -> 1059[label="",style="dashed", color="magenta", weight=3]; 1041[label="pr2F3 (primEqInt (primMinusNat vx860 (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat vx860 (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="box"];4018[label="vx860/Succ vx8600",fontsize=10,color="white",style="solid",shape="box"];1041 -> 4018[label="",style="solid", color="burlywood", weight=9]; 4018 -> 1060[label="",style="solid", color="burlywood", weight=3]; 4019[label="vx860/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 4019[label="",style="solid", color="burlywood", weight=9]; 4019 -> 1061[label="",style="solid", color="burlywood", weight=3]; 1009[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt vx441 vx441) (srMyInt vx440 vx440) (primMulInt vx441 vx441) (primEqInt (primMulInt vx441 vx441) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4020[label="vx441/Pos vx4410",fontsize=10,color="white",style="solid",shape="box"];1009 -> 4020[label="",style="solid", color="burlywood", weight=9]; 4020 -> 1014[label="",style="solid", color="burlywood", weight=3]; 4021[label="vx441/Neg vx4410",fontsize=10,color="white",style="solid",shape="box"];1009 -> 4021[label="",style="solid", color="burlywood", weight=9]; 4021 -> 1015[label="",style="solid", color="burlywood", weight=3]; 1020[label="primDivNatS (Succ vx74) (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];1020 -> 1029[label="",style="solid", color="black", weight=3]; 1021[label="vx81",fontsize=16,color="green",shape="box"];1022[label="vx72",fontsize=16,color="green",shape="box"];1042[label="pr2F3 (primEqInt (primMinusNat vx74 vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat vx74 vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="triangle"];4022[label="vx74/Succ vx740",fontsize=10,color="white",style="solid",shape="box"];1042 -> 4022[label="",style="solid", color="burlywood", weight=9]; 4022 -> 1062[label="",style="solid", color="burlywood", weight=3]; 4023[label="vx74/Zero",fontsize=10,color="white",style="solid",shape="box"];1042 -> 4023[label="",style="solid", color="burlywood", weight=9]; 4023 -> 1063[label="",style="solid", color="burlywood", weight=3]; 1043 -> 1037[label="",style="dashed", color="red", weight=0]; 1043[label="pr2F3 (primEqInt (Pos (Succ vx74)) (fromIntMyInt (Pos Zero))) vx73 (Pos (Succ vx74)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1043 -> 1064[label="",style="dashed", color="magenta", weight=3]; 1043 -> 1065[label="",style="dashed", color="magenta", weight=3]; 1044[label="vx850",fontsize=16,color="green",shape="box"];1045[label="Succ vx74",fontsize=16,color="green",shape="box"];1046[label="vx850",fontsize=16,color="green",shape="box"];1047[label="Succ vx74",fontsize=16,color="green",shape="box"];1048[label="pr2F3 (primEqInt (Pos (Succ vx880)) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1048 -> 1066[label="",style="solid", color="black", weight=3]; 1049[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1049 -> 1067[label="",style="solid", color="black", weight=3]; 1028 -> 805[label="",style="dashed", color="red", weight=0]; 1028[label="pr2F0G1 vx77 vx82 (Neg (primDivNatS (Succ vx79) (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS (Succ vx79) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1028 -> 1050[label="",style="dashed", color="magenta", weight=3]; 1028 -> 1051[label="",style="dashed", color="magenta", weight=3]; 1028 -> 1052[label="",style="dashed", color="magenta", weight=3]; 1058 -> 76[label="",style="dashed", color="red", weight=0]; 1058[label="primPlusNat (Succ vx79) vx860",fontsize=16,color="magenta"];1058 -> 1068[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1069[label="",style="dashed", color="magenta", weight=3]; 1059 -> 76[label="",style="dashed", color="red", weight=0]; 1059[label="primPlusNat (Succ vx79) vx860",fontsize=16,color="magenta"];1059 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1057[label="pr2F3 (primEqInt (Neg vx90) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="burlywood",shape="triangle"];4024[label="vx90/Succ vx900",fontsize=10,color="white",style="solid",shape="box"];1057 -> 4024[label="",style="solid", color="burlywood", weight=9]; 4024 -> 1072[label="",style="solid", color="burlywood", weight=3]; 4025[label="vx90/Zero",fontsize=10,color="white",style="solid",shape="box"];1057 -> 4025[label="",style="solid", color="burlywood", weight=9]; 4025 -> 1073[label="",style="solid", color="burlywood", weight=3]; 1060[label="pr2F3 (primEqInt (primMinusNat (Succ vx8600) (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat (Succ vx8600) (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1060 -> 1090[label="",style="solid", color="black", weight=3]; 1061[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat Zero (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1061 -> 1091[label="",style="solid", color="black", weight=3]; 1014[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt (Pos vx4410) (Pos vx4410)) (srMyInt vx440 vx440) (primMulInt (Pos vx4410) (Pos vx4410)) (primEqInt (primMulInt (Pos vx4410) (Pos vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1014 -> 1023[label="",style="solid", color="black", weight=3]; 1015[label="reduce2Reduce1 (srMyInt vx440 vx440) (primMulInt (Neg vx4410) (Neg vx4410)) (srMyInt vx440 vx440) (primMulInt (Neg vx4410) (Neg vx4410)) (primEqInt (primMulInt (Neg vx4410) (Neg vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1015 -> 1024[label="",style="solid", color="black", weight=3]; 1029[label="primDivNatS0 vx74 (Succ Zero) (primGEqNatS vx74 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];4026[label="vx74/Succ vx740",fontsize=10,color="white",style="solid",shape="box"];1029 -> 4026[label="",style="solid", color="burlywood", weight=9]; 4026 -> 1053[label="",style="solid", color="burlywood", weight=3]; 4027[label="vx74/Zero",fontsize=10,color="white",style="solid",shape="box"];1029 -> 4027[label="",style="solid", color="burlywood", weight=9]; 4027 -> 1054[label="",style="solid", color="burlywood", weight=3]; 1062[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4028[label="vx8500/Succ vx85000",fontsize=10,color="white",style="solid",shape="box"];1062 -> 4028[label="",style="solid", color="burlywood", weight=9]; 4028 -> 1092[label="",style="solid", color="burlywood", weight=3]; 4029[label="vx8500/Zero",fontsize=10,color="white",style="solid",shape="box"];1062 -> 4029[label="",style="solid", color="burlywood", weight=9]; 4029 -> 1093[label="",style="solid", color="burlywood", weight=3]; 1063[label="pr2F3 (primEqInt (primMinusNat Zero vx8500) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero vx8500) (srRatio vx73 vx72)",fontsize=16,color="burlywood",shape="box"];4030[label="vx8500/Succ vx85000",fontsize=10,color="white",style="solid",shape="box"];1063 -> 4030[label="",style="solid", color="burlywood", weight=9]; 4030 -> 1094[label="",style="solid", color="burlywood", weight=3]; 4031[label="vx8500/Zero",fontsize=10,color="white",style="solid",shape="box"];1063 -> 4031[label="",style="solid", color="burlywood", weight=9]; 4031 -> 1095[label="",style="solid", color="burlywood", weight=3]; 1064[label="Succ vx74",fontsize=16,color="green",shape="box"];1065[label="Succ vx74",fontsize=16,color="green",shape="box"];1066[label="pr2F3 (primEqInt (Pos (Succ vx880)) (Pos Zero)) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1066 -> 1096[label="",style="solid", color="black", weight=3]; 1067[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1067 -> 1097[label="",style="solid", color="black", weight=3]; 1050[label="vx77",fontsize=16,color="green",shape="box"];1051[label="vx82",fontsize=16,color="green",shape="box"];1052 -> 1020[label="",style="dashed", color="red", weight=0]; 1052[label="primDivNatS (Succ vx79) (Succ (Succ Zero))",fontsize=16,color="magenta"];1052 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1068[label="vx860",fontsize=16,color="green",shape="box"];1069[label="Succ vx79",fontsize=16,color="green",shape="box"];1070[label="vx860",fontsize=16,color="green",shape="box"];1071[label="Succ vx79",fontsize=16,color="green",shape="box"];1072[label="pr2F3 (primEqInt (Neg (Succ vx900)) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1072 -> 1098[label="",style="solid", color="black", weight=3]; 1073[label="pr2F3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1073 -> 1099[label="",style="solid", color="black", weight=3]; 1090 -> 1042[label="",style="dashed", color="red", weight=0]; 1090[label="pr2F3 (primEqInt (primMinusNat vx8600 vx79) (fromIntMyInt (Pos Zero))) vx78 (primMinusNat vx8600 vx79) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1090 -> 1110[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1113[label="",style="dashed", color="magenta", weight=3]; 1091 -> 1057[label="",style="dashed", color="red", weight=0]; 1091[label="pr2F3 (primEqInt (Neg (Succ vx79)) (fromIntMyInt (Pos Zero))) vx78 (Neg (Succ vx79)) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1091 -> 1114[label="",style="dashed", color="magenta", weight=3]; 1091 -> 1115[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1261[label="",style="dashed", color="red", weight=0]; 1023[label="reduce2Reduce1 (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (primEqInt (Pos (primMulNat vx4410 vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1023 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1263[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1264[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1265[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1266[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1261[label="",style="dashed", color="red", weight=0]; 1024[label="reduce2Reduce1 (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (srMyInt vx440 vx440) (Pos (primMulNat vx4410 vx4410)) (primEqInt (Pos (primMulNat vx4410 vx4410)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1024 -> 1267[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1268[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1269[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1270[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1271[label="",style="dashed", color="magenta", weight=3]; 1053[label="primDivNatS0 (Succ vx740) (Succ Zero) (primGEqNatS (Succ vx740) (Succ Zero))",fontsize=16,color="black",shape="box"];1053 -> 1075[label="",style="solid", color="black", weight=3]; 1054[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];1054 -> 1076[label="",style="solid", color="black", weight=3]; 1092[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1092 -> 1116[label="",style="solid", color="black", weight=3]; 1093[label="pr2F3 (primEqInt (primMinusNat (Succ vx740) Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat (Succ vx740) Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1093 -> 1117[label="",style="solid", color="black", weight=3]; 1094[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1094 -> 1118[label="",style="solid", color="black", weight=3]; 1095[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat Zero Zero) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1095 -> 1119[label="",style="solid", color="black", weight=3]; 1096[label="pr2F3 MyFalse vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1096 -> 1120[label="",style="solid", color="black", weight=3]; 1097[label="pr2F3 MyTrue vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1097 -> 1121[label="",style="solid", color="black", weight=3]; 1074[label="vx79",fontsize=16,color="green",shape="box"];1098 -> 775[label="",style="dashed", color="red", weight=0]; 1098[label="pr2F3 (primEqInt (Neg (Succ vx900)) (Pos Zero)) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1098 -> 1122[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1123[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1124[label="",style="dashed", color="magenta", weight=3]; 1098 -> 1125[label="",style="dashed", color="magenta", weight=3]; 1099[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="black",shape="box"];1099 -> 1126[label="",style="solid", color="black", weight=3]; 1110[label="vx79",fontsize=16,color="green",shape="box"];1111[label="vx77",fontsize=16,color="green",shape="box"];1112[label="vx78",fontsize=16,color="green",shape="box"];1113[label="vx8600",fontsize=16,color="green",shape="box"];1114[label="Succ vx79",fontsize=16,color="green",shape="box"];1115[label="Succ vx79",fontsize=16,color="green",shape="box"];1262[label="primMulNat vx4410 vx4410",fontsize=16,color="burlywood",shape="triangle"];4032[label="vx4410/Succ vx44100",fontsize=10,color="white",style="solid",shape="box"];1262 -> 4032[label="",style="solid", color="burlywood", weight=9]; 4032 -> 1295[label="",style="solid", color="burlywood", weight=3]; 4033[label="vx4410/Zero",fontsize=10,color="white",style="solid",shape="box"];1262 -> 4033[label="",style="solid", color="burlywood", weight=9]; 4033 -> 1296[label="",style="solid", color="burlywood", weight=3]; 1263 -> 1262[label="",style="dashed", color="red", weight=0]; 1263[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1264 -> 1262[label="",style="dashed", color="red", weight=0]; 1264[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1265[label="vx440",fontsize=16,color="green",shape="box"];1266[label="vx440",fontsize=16,color="green",shape="box"];1261[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos vx99) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];4034[label="vx99/Succ vx990",fontsize=10,color="white",style="solid",shape="box"];1261 -> 4034[label="",style="solid", color="burlywood", weight=9]; 4034 -> 1297[label="",style="solid", color="burlywood", weight=3]; 4035[label="vx99/Zero",fontsize=10,color="white",style="solid",shape="box"];1261 -> 4035[label="",style="solid", color="burlywood", weight=9]; 4035 -> 1298[label="",style="solid", color="burlywood", weight=3]; 1267 -> 1262[label="",style="dashed", color="red", weight=0]; 1267[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1267 -> 1299[label="",style="dashed", color="magenta", weight=3]; 1268 -> 1262[label="",style="dashed", color="red", weight=0]; 1268[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1268 -> 1300[label="",style="dashed", color="magenta", weight=3]; 1269 -> 1262[label="",style="dashed", color="red", weight=0]; 1269[label="primMulNat vx4410 vx4410",fontsize=16,color="magenta"];1269 -> 1301[label="",style="dashed", color="magenta", weight=3]; 1270[label="vx440",fontsize=16,color="green",shape="box"];1271[label="vx440",fontsize=16,color="green",shape="box"];1075 -> 3546[label="",style="dashed", color="red", weight=0]; 1075[label="primDivNatS0 (Succ vx740) (Succ Zero) (primGEqNatS vx740 Zero)",fontsize=16,color="magenta"];1075 -> 3547[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3548[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3549[label="",style="dashed", color="magenta", weight=3]; 1075 -> 3550[label="",style="dashed", color="magenta", weight=3]; 1076[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1076 -> 1109[label="",style="solid", color="black", weight=3]; 1116 -> 1042[label="",style="dashed", color="red", weight=0]; 1116[label="pr2F3 (primEqInt (primMinusNat vx740 vx85000) (fromIntMyInt (Pos Zero))) vx73 (primMinusNat vx740 vx85000) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1116 -> 1133[label="",style="dashed", color="magenta", weight=3]; 1116 -> 1134[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1037[label="",style="dashed", color="red", weight=0]; 1117[label="pr2F3 (primEqInt (Pos (Succ vx740)) (fromIntMyInt (Pos Zero))) vx73 (Pos (Succ vx740)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1057[label="",style="dashed", color="red", weight=0]; 1118[label="pr2F3 (primEqInt (Neg (Succ vx85000)) (fromIntMyInt (Pos Zero))) vx73 (Neg (Succ vx85000)) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1118 -> 1137[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1138[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1139[label="",style="dashed", color="magenta", weight=3]; 1118 -> 1140[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1037[label="",style="dashed", color="red", weight=0]; 1119[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx73 (Pos Zero) (srRatio vx73 vx72)",fontsize=16,color="magenta"];1119 -> 1141[label="",style="dashed", color="magenta", weight=3]; 1119 -> 1142[label="",style="dashed", color="magenta", weight=3]; 1120[label="pr2F0 vx73 (Pos vx87) (srRatio vx73 vx72)",fontsize=16,color="black",shape="box"];1120 -> 1143[label="",style="solid", color="black", weight=3]; 1121[label="srRatio vx73 vx72",fontsize=16,color="burlywood",shape="triangle"];4036[label="vx73/CnPc vx730 vx731",fontsize=10,color="white",style="solid",shape="box"];1121 -> 4036[label="",style="solid", color="burlywood", weight=9]; 4036 -> 1144[label="",style="solid", color="burlywood", weight=3]; 1122 -> 1121[label="",style="dashed", color="red", weight=0]; 1122[label="srRatio vx78 vx77",fontsize=16,color="magenta"];1122 -> 1145[label="",style="dashed", color="magenta", weight=3]; 1122 -> 1146[label="",style="dashed", color="magenta", weight=3]; 1123[label="vx900",fontsize=16,color="green",shape="box"];1124[label="vx78",fontsize=16,color="green",shape="box"];1125[label="vx89",fontsize=16,color="green",shape="box"];1126 -> 1147[label="",style="dashed", color="red", weight=0]; 1126[label="pr2F3 MyTrue vx78 (Neg vx89) (srRatio vx78 vx77)",fontsize=16,color="magenta"];1126 -> 1148[label="",style="dashed", color="magenta", weight=3]; 1295[label="primMulNat (Succ vx44100) (Succ vx44100)",fontsize=16,color="black",shape="box"];1295 -> 1329[label="",style="solid", color="black", weight=3]; 1296[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1296 -> 1330[label="",style="solid", color="black", weight=3]; 1297[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos (Succ vx990)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1297 -> 1331[label="",style="solid", color="black", weight=3]; 1298[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1298 -> 1332[label="",style="solid", color="black", weight=3]; 1299[label="vx4410",fontsize=16,color="green",shape="box"];1300[label="vx4410",fontsize=16,color="green",shape="box"];1301[label="vx4410",fontsize=16,color="green",shape="box"];3547[label="Zero",fontsize=16,color="green",shape="box"];3548[label="Zero",fontsize=16,color="green",shape="box"];3549[label="vx740",fontsize=16,color="green",shape="box"];3550[label="vx740",fontsize=16,color="green",shape="box"];3546[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS vx167 vx168)",fontsize=16,color="burlywood",shape="triangle"];4037[label="vx167/Succ vx1670",fontsize=10,color="white",style="solid",shape="box"];3546 -> 4037[label="",style="solid", color="burlywood", weight=9]; 4037 -> 3591[label="",style="solid", color="burlywood", weight=3]; 4038[label="vx167/Zero",fontsize=10,color="white",style="solid",shape="box"];3546 -> 4038[label="",style="solid", color="burlywood", weight=9]; 4038 -> 3592[label="",style="solid", color="burlywood", weight=3]; 1109[label="Zero",fontsize=16,color="green",shape="box"];1133[label="vx85000",fontsize=16,color="green",shape="box"];1134[label="vx740",fontsize=16,color="green",shape="box"];1135[label="Succ vx740",fontsize=16,color="green",shape="box"];1136[label="Succ vx740",fontsize=16,color="green",shape="box"];1137[label="Succ vx85000",fontsize=16,color="green",shape="box"];1138[label="vx72",fontsize=16,color="green",shape="box"];1139[label="Succ vx85000",fontsize=16,color="green",shape="box"];1140[label="vx73",fontsize=16,color="green",shape="box"];1141[label="Zero",fontsize=16,color="green",shape="box"];1142[label="Zero",fontsize=16,color="green",shape="box"];1143 -> 792[label="",style="dashed", color="red", weight=0]; 1143[label="pr2F0G (srRatio vx73 vx72) vx73 (Pos vx87)",fontsize=16,color="magenta"];1143 -> 1149[label="",style="dashed", color="magenta", weight=3]; 1143 -> 1150[label="",style="dashed", color="magenta", weight=3]; 1143 -> 1151[label="",style="dashed", color="magenta", weight=3]; 1144[label="srRatio (CnPc vx730 vx731) vx72",fontsize=16,color="burlywood",shape="box"];4039[label="vx72/CnPc vx720 vx721",fontsize=10,color="white",style="solid",shape="box"];1144 -> 4039[label="",style="solid", color="burlywood", weight=9]; 4039 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1145[label="vx77",fontsize=16,color="green",shape="box"];1146[label="vx78",fontsize=16,color="green",shape="box"];1148 -> 1121[label="",style="dashed", color="red", weight=0]; 1148[label="srRatio vx78 vx77",fontsize=16,color="magenta"];1148 -> 1153[label="",style="dashed", color="magenta", weight=3]; 1148 -> 1154[label="",style="dashed", color="magenta", weight=3]; 1147[label="pr2F3 MyTrue vx78 (Neg vx89) vx94",fontsize=16,color="black",shape="triangle"];1147 -> 1155[label="",style="solid", color="black", weight=3]; 1329 -> 76[label="",style="dashed", color="red", weight=0]; 1329[label="primPlusNat (primMulNat vx44100 (Succ vx44100)) (Succ vx44100)",fontsize=16,color="magenta"];1329 -> 1345[label="",style="dashed", color="magenta", weight=3]; 1329 -> 1346[label="",style="dashed", color="magenta", weight=3]; 1330[label="Zero",fontsize=16,color="green",shape="box"];1331[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos (Succ vx990)) (Pos Zero))",fontsize=16,color="black",shape="box"];1331 -> 1347[label="",style="solid", color="black", weight=3]; 1332[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];1332 -> 1348[label="",style="solid", color="black", weight=3]; 3591[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) vx168)",fontsize=16,color="burlywood",shape="box"];4040[label="vx168/Succ vx1680",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4040[label="",style="solid", color="burlywood", weight=9]; 4040 -> 3607[label="",style="solid", color="burlywood", weight=3]; 4041[label="vx168/Zero",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4041[label="",style="solid", color="burlywood", weight=9]; 4041 -> 3608[label="",style="solid", color="burlywood", weight=3]; 3592[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero vx168)",fontsize=16,color="burlywood",shape="box"];4042[label="vx168/Succ vx1680",fontsize=10,color="white",style="solid",shape="box"];3592 -> 4042[label="",style="solid", color="burlywood", weight=9]; 4042 -> 3609[label="",style="solid", color="burlywood", weight=3]; 4043[label="vx168/Zero",fontsize=10,color="white",style="solid",shape="box"];3592 -> 4043[label="",style="solid", color="burlywood", weight=9]; 4043 -> 3610[label="",style="solid", color="burlywood", weight=3]; 1149[label="vx87",fontsize=16,color="green",shape="box"];1150[label="vx73",fontsize=16,color="green",shape="box"];1151 -> 1121[label="",style="dashed", color="red", weight=0]; 1151[label="srRatio vx73 vx72",fontsize=16,color="magenta"];1152[label="srRatio (CnPc vx730 vx731) (CnPc vx720 vx721)",fontsize=16,color="black",shape="box"];1152 -> 1162[label="",style="solid", color="black", weight=3]; 1153[label="vx77",fontsize=16,color="green",shape="box"];1154[label="vx78",fontsize=16,color="green",shape="box"];1155[label="vx94",fontsize=16,color="green",shape="box"];1345[label="Succ vx44100",fontsize=16,color="green",shape="box"];1346 -> 1277[label="",style="dashed", color="red", weight=0]; 1346[label="primMulNat vx44100 (Succ vx44100)",fontsize=16,color="magenta"];1346 -> 1355[label="",style="dashed", color="magenta", weight=3]; 1346 -> 1356[label="",style="dashed", color="magenta", weight=3]; 1347[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyFalse",fontsize=16,color="black",shape="box"];1347 -> 1357[label="",style="solid", color="black", weight=3]; 1348[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyTrue",fontsize=16,color="black",shape="box"];1348 -> 1358[label="",style="solid", color="black", weight=3]; 3607[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) (Succ vx1680))",fontsize=16,color="black",shape="box"];3607 -> 3629[label="",style="solid", color="black", weight=3]; 3608[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS (Succ vx1670) Zero)",fontsize=16,color="black",shape="box"];3608 -> 3630[label="",style="solid", color="black", weight=3]; 3609[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero (Succ vx1680))",fontsize=16,color="black",shape="box"];3609 -> 3631[label="",style="solid", color="black", weight=3]; 3610[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3610 -> 3632[label="",style="solid", color="black", weight=3]; 1162[label="reduce (srMyInt vx730 vx720) (srMyInt vx731 vx721)",fontsize=16,color="black",shape="box"];1162 -> 1169[label="",style="solid", color="black", weight=3]; 1355[label="vx44100",fontsize=16,color="green",shape="box"];1356[label="Succ vx44100",fontsize=16,color="green",shape="box"];1277[label="primMulNat vx7310 vx7210",fontsize=16,color="burlywood",shape="triangle"];4044[label="vx7310/Succ vx73100",fontsize=10,color="white",style="solid",shape="box"];1277 -> 4044[label="",style="solid", color="burlywood", weight=9]; 4044 -> 1302[label="",style="solid", color="burlywood", weight=3]; 4045[label="vx7310/Zero",fontsize=10,color="white",style="solid",shape="box"];1277 -> 4045[label="",style="solid", color="burlywood", weight=9]; 4045 -> 1303[label="",style="solid", color="burlywood", weight=3]; 1357[label="reduce2Reduce0 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) otherwise",fontsize=16,color="black",shape="box"];1357 -> 1363[label="",style="solid", color="black", weight=3]; 1358 -> 46[label="",style="dashed", color="red", weight=0]; 1358[label="error",fontsize=16,color="magenta"];3629 -> 3546[label="",style="dashed", color="red", weight=0]; 3629[label="primDivNatS0 (Succ vx165) (Succ vx166) (primGEqNatS vx1670 vx1680)",fontsize=16,color="magenta"];3629 -> 3648[label="",style="dashed", color="magenta", weight=3]; 3629 -> 3649[label="",style="dashed", color="magenta", weight=3]; 3630[label="primDivNatS0 (Succ vx165) (Succ vx166) MyTrue",fontsize=16,color="black",shape="triangle"];3630 -> 3650[label="",style="solid", color="black", weight=3]; 3631[label="primDivNatS0 (Succ vx165) (Succ vx166) MyFalse",fontsize=16,color="black",shape="box"];3631 -> 3651[label="",style="solid", color="black", weight=3]; 3632 -> 3630[label="",style="dashed", color="red", weight=0]; 3632[label="primDivNatS0 (Succ vx165) (Succ vx166) MyTrue",fontsize=16,color="magenta"];1169[label="reduce2 (srMyInt vx730 vx720) (srMyInt vx731 vx721)",fontsize=16,color="black",shape="box"];1169 -> 1175[label="",style="solid", color="black", weight=3]; 1302[label="primMulNat (Succ vx73100) vx7210",fontsize=16,color="burlywood",shape="box"];4046[label="vx7210/Succ vx72100",fontsize=10,color="white",style="solid",shape="box"];1302 -> 4046[label="",style="solid", color="burlywood", weight=9]; 4046 -> 1341[label="",style="solid", color="burlywood", weight=3]; 4047[label="vx7210/Zero",fontsize=10,color="white",style="solid",shape="box"];1302 -> 4047[label="",style="solid", color="burlywood", weight=9]; 4047 -> 1342[label="",style="solid", color="burlywood", weight=3]; 1303[label="primMulNat Zero vx7210",fontsize=16,color="burlywood",shape="box"];4048[label="vx7210/Succ vx72100",fontsize=10,color="white",style="solid",shape="box"];1303 -> 4048[label="",style="solid", color="burlywood", weight=9]; 4048 -> 1343[label="",style="solid", color="burlywood", weight=3]; 4049[label="vx7210/Zero",fontsize=10,color="white",style="solid",shape="box"];1303 -> 4049[label="",style="solid", color="burlywood", weight=9]; 4049 -> 1344[label="",style="solid", color="burlywood", weight=3]; 1363[label="reduce2Reduce0 (srMyInt vx730 vx720) (Pos vx98) (srMyInt vx730 vx720) (Pos vx97) MyTrue",fontsize=16,color="black",shape="box"];1363 -> 1368[label="",style="solid", color="black", weight=3]; 3648[label="vx1680",fontsize=16,color="green",shape="box"];3649[label="vx1670",fontsize=16,color="green",shape="box"];3650[label="Succ (primDivNatS (primMinusNatS (Succ vx165) (Succ vx166)) (Succ (Succ vx166)))",fontsize=16,color="green",shape="box"];3650 -> 3665[label="",style="dashed", color="green", weight=3]; 3651[label="Zero",fontsize=16,color="green",shape="box"];1175[label="reduce2Reduce1 (srMyInt vx730 vx720) (srMyInt vx731 vx721) (srMyInt vx730 vx720) (srMyInt vx731 vx721) (esEsMyInt (srMyInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1175 -> 1181[label="",style="solid", color="black", weight=3]; 1341[label="primMulNat (Succ vx73100) (Succ vx72100)",fontsize=16,color="black",shape="box"];1341 -> 1351[label="",style="solid", color="black", weight=3]; 1342[label="primMulNat (Succ vx73100) Zero",fontsize=16,color="black",shape="box"];1342 -> 1352[label="",style="solid", color="black", weight=3]; 1343[label="primMulNat Zero (Succ vx72100)",fontsize=16,color="black",shape="box"];1343 -> 1353[label="",style="solid", color="black", weight=3]; 1344[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1344 -> 1354[label="",style="solid", color="black", weight=3]; 1368[label="CnPc (quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))) (quotMyInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98)))",fontsize=16,color="green",shape="box"];1368 -> 1370[label="",style="dashed", color="green", weight=3]; 1368 -> 1371[label="",style="dashed", color="green", weight=3]; 3665 -> 2476[label="",style="dashed", color="red", weight=0]; 3665[label="primDivNatS (primMinusNatS (Succ vx165) (Succ vx166)) (Succ (Succ vx166))",fontsize=16,color="magenta"];3665 -> 3673[label="",style="dashed", color="magenta", weight=3]; 3665 -> 3674[label="",style="dashed", color="magenta", weight=3]; 1181[label="reduce2Reduce1 (srMyInt vx730 vx720) (srMyInt vx731 vx721) (srMyInt vx730 vx720) (srMyInt vx731 vx721) (primEqInt (srMyInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1181 -> 1187[label="",style="solid", color="black", weight=3]; 1351 -> 76[label="",style="dashed", color="red", weight=0]; 1351[label="primPlusNat (primMulNat vx73100 (Succ vx72100)) (Succ vx72100)",fontsize=16,color="magenta"];1351 -> 1361[label="",style="dashed", color="magenta", weight=3]; 1351 -> 1362[label="",style="dashed", color="magenta", weight=3]; 1352[label="Zero",fontsize=16,color="green",shape="box"];1353[label="Zero",fontsize=16,color="green",shape="box"];1354[label="Zero",fontsize=16,color="green",shape="box"];1370[label="quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1370 -> 1373[label="",style="solid", color="black", weight=3]; 1371[label="quotMyInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1371 -> 1374[label="",style="solid", color="black", weight=3]; 3673[label="Succ vx166",fontsize=16,color="green",shape="box"];3674[label="primMinusNatS (Succ vx165) (Succ vx166)",fontsize=16,color="black",shape="box"];3674 -> 3682[label="",style="solid", color="black", weight=3]; 2476[label="primDivNatS vx123 (Succ vx12400)",fontsize=16,color="burlywood",shape="triangle"];4050[label="vx123/Succ vx1230",fontsize=10,color="white",style="solid",shape="box"];2476 -> 4050[label="",style="solid", color="burlywood", weight=9]; 4050 -> 2488[label="",style="solid", color="burlywood", weight=3]; 4051[label="vx123/Zero",fontsize=10,color="white",style="solid",shape="box"];2476 -> 4051[label="",style="solid", color="burlywood", weight=9]; 4051 -> 2489[label="",style="solid", color="burlywood", weight=3]; 1187[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt vx731 vx721) (srMyInt vx730 vx720) (primMulInt vx731 vx721) (primEqInt (primMulInt vx731 vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4052[label="vx731/Pos vx7310",fontsize=10,color="white",style="solid",shape="box"];1187 -> 4052[label="",style="solid", color="burlywood", weight=9]; 4052 -> 1192[label="",style="solid", color="burlywood", weight=3]; 4053[label="vx731/Neg vx7310",fontsize=10,color="white",style="solid",shape="box"];1187 -> 4053[label="",style="solid", color="burlywood", weight=9]; 4053 -> 1193[label="",style="solid", color="burlywood", weight=3]; 1361[label="Succ vx72100",fontsize=16,color="green",shape="box"];1362 -> 1277[label="",style="dashed", color="red", weight=0]; 1362[label="primMulNat vx73100 (Succ vx72100)",fontsize=16,color="magenta"];1362 -> 1366[label="",style="dashed", color="magenta", weight=3]; 1362 -> 1367[label="",style="dashed", color="magenta", weight=3]; 1373[label="primQuotInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="black",shape="box"];1373 -> 1377[label="",style="solid", color="black", weight=3]; 1374 -> 3014[label="",style="dashed", color="red", weight=0]; 1374[label="primQuotInt (Pos vx97) (reduce2D (srMyInt vx730 vx720) (Pos vx98))",fontsize=16,color="magenta"];1374 -> 3015[label="",style="dashed", color="magenta", weight=3]; 3682[label="primMinusNatS vx165 vx166",fontsize=16,color="burlywood",shape="triangle"];4054[label="vx165/Succ vx1650",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4054[label="",style="solid", color="burlywood", weight=9]; 4054 -> 3691[label="",style="solid", color="burlywood", weight=3]; 4055[label="vx165/Zero",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4055[label="",style="solid", color="burlywood", weight=9]; 4055 -> 3692[label="",style="solid", color="burlywood", weight=3]; 2488[label="primDivNatS (Succ vx1230) (Succ vx12400)",fontsize=16,color="black",shape="box"];2488 -> 2502[label="",style="solid", color="black", weight=3]; 2489[label="primDivNatS Zero (Succ vx12400)",fontsize=16,color="black",shape="box"];2489 -> 2503[label="",style="solid", color="black", weight=3]; 1192[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) vx721) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) vx721) (primEqInt (primMulInt (Pos vx7310) vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4056[label="vx721/Pos vx7210",fontsize=10,color="white",style="solid",shape="box"];1192 -> 4056[label="",style="solid", color="burlywood", weight=9]; 4056 -> 1198[label="",style="solid", color="burlywood", weight=3]; 4057[label="vx721/Neg vx7210",fontsize=10,color="white",style="solid",shape="box"];1192 -> 4057[label="",style="solid", color="burlywood", weight=9]; 4057 -> 1199[label="",style="solid", color="burlywood", weight=3]; 1193[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) vx721) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) vx721) (primEqInt (primMulInt (Neg vx7310) vx721) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];4058[label="vx721/Pos vx7210",fontsize=10,color="white",style="solid",shape="box"];1193 -> 4058[label="",style="solid", color="burlywood", weight=9]; 4058 -> 1200[label="",style="solid", color="burlywood", weight=3]; 4059[label="vx721/Neg vx7210",fontsize=10,color="white",style="solid",shape="box"];1193 -> 4059[label="",style="solid", color="burlywood", weight=9]; 4059 -> 1201[label="",style="solid", color="burlywood", weight=3]; 1366[label="vx73100",fontsize=16,color="green",shape="box"];1367[label="Succ vx72100",fontsize=16,color="green",shape="box"];1377[label="primQuotInt (primMulInt vx730 vx720) (reduce2D (primMulInt vx730 vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4060[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];1377 -> 4060[label="",style="solid", color="burlywood", weight=9]; 4060 -> 1381[label="",style="solid", color="burlywood", weight=3]; 4061[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];1377 -> 4061[label="",style="solid", color="burlywood", weight=9]; 4061 -> 1382[label="",style="solid", color="burlywood", weight=3]; 3015[label="reduce2D (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3015 -> 3400[label="",style="solid", color="black", weight=3]; 3014[label="primQuotInt (Pos vx97) vx150",fontsize=16,color="burlywood",shape="triangle"];4062[label="vx150/Pos vx1500",fontsize=10,color="white",style="solid",shape="box"];3014 -> 4062[label="",style="solid", color="burlywood", weight=9]; 4062 -> 3401[label="",style="solid", color="burlywood", weight=3]; 4063[label="vx150/Neg vx1500",fontsize=10,color="white",style="solid",shape="box"];3014 -> 4063[label="",style="solid", color="burlywood", weight=9]; 4063 -> 3402[label="",style="solid", color="burlywood", weight=3]; 3691[label="primMinusNatS (Succ vx1650) vx166",fontsize=16,color="burlywood",shape="box"];4064[label="vx166/Succ vx1660",fontsize=10,color="white",style="solid",shape="box"];3691 -> 4064[label="",style="solid", color="burlywood", weight=9]; 4064 -> 3702[label="",style="solid", color="burlywood", weight=3]; 4065[label="vx166/Zero",fontsize=10,color="white",style="solid",shape="box"];3691 -> 4065[label="",style="solid", color="burlywood", weight=9]; 4065 -> 3703[label="",style="solid", color="burlywood", weight=3]; 3692[label="primMinusNatS Zero vx166",fontsize=16,color="burlywood",shape="box"];4066[label="vx166/Succ vx1660",fontsize=10,color="white",style="solid",shape="box"];3692 -> 4066[label="",style="solid", color="burlywood", weight=9]; 4066 -> 3704[label="",style="solid", color="burlywood", weight=3]; 4067[label="vx166/Zero",fontsize=10,color="white",style="solid",shape="box"];3692 -> 4067[label="",style="solid", color="burlywood", weight=9]; 4067 -> 3705[label="",style="solid", color="burlywood", weight=3]; 2502[label="primDivNatS0 vx1230 vx12400 (primGEqNatS vx1230 vx12400)",fontsize=16,color="burlywood",shape="box"];4068[label="vx1230/Succ vx12300",fontsize=10,color="white",style="solid",shape="box"];2502 -> 4068[label="",style="solid", color="burlywood", weight=9]; 4068 -> 2517[label="",style="solid", color="burlywood", weight=3]; 4069[label="vx1230/Zero",fontsize=10,color="white",style="solid",shape="box"];2502 -> 4069[label="",style="solid", color="burlywood", weight=9]; 4069 -> 2518[label="",style="solid", color="burlywood", weight=3]; 2503[label="Zero",fontsize=16,color="green",shape="box"];1198[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Pos vx7210)) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Pos vx7210)) (primEqInt (primMulInt (Pos vx7310) (Pos vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1198 -> 1207[label="",style="solid", color="black", weight=3]; 1199[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Neg vx7210)) (srMyInt vx730 vx720) (primMulInt (Pos vx7310) (Neg vx7210)) (primEqInt (primMulInt (Pos vx7310) (Neg vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1199 -> 1208[label="",style="solid", color="black", weight=3]; 1200[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Pos vx7210)) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Pos vx7210)) (primEqInt (primMulInt (Neg vx7310) (Pos vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1200 -> 1209[label="",style="solid", color="black", weight=3]; 1201[label="reduce2Reduce1 (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Neg vx7210)) (srMyInt vx730 vx720) (primMulInt (Neg vx7310) (Neg vx7210)) (primEqInt (primMulInt (Neg vx7310) (Neg vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1201 -> 1210[label="",style="solid", color="black", weight=3]; 1381[label="primQuotInt (primMulInt (Pos vx7300) vx720) (reduce2D (primMulInt (Pos vx7300) vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4070[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1381 -> 4070[label="",style="solid", color="burlywood", weight=9]; 4070 -> 1386[label="",style="solid", color="burlywood", weight=3]; 4071[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1381 -> 4071[label="",style="solid", color="burlywood", weight=9]; 4071 -> 1387[label="",style="solid", color="burlywood", weight=3]; 1382[label="primQuotInt (primMulInt (Neg vx7300) vx720) (reduce2D (primMulInt (Neg vx7300) vx720) (Pos vx98))",fontsize=16,color="burlywood",shape="box"];4072[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1382 -> 4072[label="",style="solid", color="burlywood", weight=9]; 4072 -> 1388[label="",style="solid", color="burlywood", weight=3]; 4073[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1382 -> 4073[label="",style="solid", color="burlywood", weight=9]; 4073 -> 1389[label="",style="solid", color="burlywood", weight=3]; 3400[label="gcd (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3400 -> 3408[label="",style="solid", color="black", weight=3]; 3401[label="primQuotInt (Pos vx97) (Pos vx1500)",fontsize=16,color="burlywood",shape="box"];4074[label="vx1500/Succ vx15000",fontsize=10,color="white",style="solid",shape="box"];3401 -> 4074[label="",style="solid", color="burlywood", weight=9]; 4074 -> 3409[label="",style="solid", color="burlywood", weight=3]; 4075[label="vx1500/Zero",fontsize=10,color="white",style="solid",shape="box"];3401 -> 4075[label="",style="solid", color="burlywood", weight=9]; 4075 -> 3410[label="",style="solid", color="burlywood", weight=3]; 3402[label="primQuotInt (Pos vx97) (Neg vx1500)",fontsize=16,color="burlywood",shape="box"];4076[label="vx1500/Succ vx15000",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4076[label="",style="solid", color="burlywood", weight=9]; 4076 -> 3411[label="",style="solid", color="burlywood", weight=3]; 4077[label="vx1500/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4077[label="",style="solid", color="burlywood", weight=9]; 4077 -> 3412[label="",style="solid", color="burlywood", weight=3]; 3702[label="primMinusNatS (Succ vx1650) (Succ vx1660)",fontsize=16,color="black",shape="box"];3702 -> 3716[label="",style="solid", color="black", weight=3]; 3703[label="primMinusNatS (Succ vx1650) Zero",fontsize=16,color="black",shape="box"];3703 -> 3717[label="",style="solid", color="black", weight=3]; 3704[label="primMinusNatS Zero (Succ vx1660)",fontsize=16,color="black",shape="box"];3704 -> 3718[label="",style="solid", color="black", weight=3]; 3705[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];3705 -> 3719[label="",style="solid", color="black", weight=3]; 2517[label="primDivNatS0 (Succ vx12300) vx12400 (primGEqNatS (Succ vx12300) vx12400)",fontsize=16,color="burlywood",shape="box"];4078[label="vx12400/Succ vx124000",fontsize=10,color="white",style="solid",shape="box"];2517 -> 4078[label="",style="solid", color="burlywood", weight=9]; 4078 -> 2532[label="",style="solid", color="burlywood", weight=3]; 4079[label="vx12400/Zero",fontsize=10,color="white",style="solid",shape="box"];2517 -> 4079[label="",style="solid", color="burlywood", weight=9]; 4079 -> 2533[label="",style="solid", color="burlywood", weight=3]; 2518[label="primDivNatS0 Zero vx12400 (primGEqNatS Zero vx12400)",fontsize=16,color="burlywood",shape="box"];4080[label="vx12400/Succ vx124000",fontsize=10,color="white",style="solid",shape="box"];2518 -> 4080[label="",style="solid", color="burlywood", weight=9]; 4080 -> 2534[label="",style="solid", color="burlywood", weight=3]; 4081[label="vx12400/Zero",fontsize=10,color="white",style="solid",shape="box"];2518 -> 4081[label="",style="solid", color="burlywood", weight=9]; 4081 -> 2535[label="",style="solid", color="burlywood", weight=3]; 1207 -> 1261[label="",style="dashed", color="red", weight=0]; 1207[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (primEqInt (Pos (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1207 -> 1277[label="",style="dashed", color="magenta", weight=3]; 1207 -> 1278[label="",style="dashed", color="magenta", weight=3]; 1207 -> 1279[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1310[label="",style="dashed", color="red", weight=0]; 1208[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (primEqInt (Neg (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1208 -> 1311[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1312[label="",style="dashed", color="magenta", weight=3]; 1208 -> 1313[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1310[label="",style="dashed", color="red", weight=0]; 1209[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Neg (primMulNat vx7310 vx7210)) (primEqInt (Neg (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1209 -> 1314[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1315[label="",style="dashed", color="magenta", weight=3]; 1209 -> 1316[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1261[label="",style="dashed", color="red", weight=0]; 1210[label="reduce2Reduce1 (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (srMyInt vx730 vx720) (Pos (primMulNat vx7310 vx7210)) (primEqInt (Pos (primMulNat vx7310 vx7210)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];1210 -> 1280[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1210 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1386[label="primQuotInt (primMulInt (Pos vx7300) (Pos vx7200)) (reduce2D (primMulInt (Pos vx7300) (Pos vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1386 -> 1394[label="",style="solid", color="black", weight=3]; 1387[label="primQuotInt (primMulInt (Pos vx7300) (Neg vx7200)) (reduce2D (primMulInt (Pos vx7300) (Neg vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1387 -> 1395[label="",style="solid", color="black", weight=3]; 1388[label="primQuotInt (primMulInt (Neg vx7300) (Pos vx7200)) (reduce2D (primMulInt (Neg vx7300) (Pos vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1388 -> 1396[label="",style="solid", color="black", weight=3]; 1389[label="primQuotInt (primMulInt (Neg vx7300) (Neg vx7200)) (reduce2D (primMulInt (Neg vx7300) (Neg vx7200)) (Pos vx98))",fontsize=16,color="black",shape="box"];1389 -> 1397[label="",style="solid", color="black", weight=3]; 3408[label="gcd3 (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3408 -> 3425[label="",style="solid", color="black", weight=3]; 3409[label="primQuotInt (Pos vx97) (Pos (Succ vx15000))",fontsize=16,color="black",shape="box"];3409 -> 3426[label="",style="solid", color="black", weight=3]; 3410[label="primQuotInt (Pos vx97) (Pos Zero)",fontsize=16,color="black",shape="box"];3410 -> 3427[label="",style="solid", color="black", weight=3]; 3411[label="primQuotInt (Pos vx97) (Neg (Succ vx15000))",fontsize=16,color="black",shape="box"];3411 -> 3428[label="",style="solid", color="black", weight=3]; 3412[label="primQuotInt (Pos vx97) (Neg Zero)",fontsize=16,color="black",shape="box"];3412 -> 3429[label="",style="solid", color="black", weight=3]; 3716 -> 3682[label="",style="dashed", color="red", weight=0]; 3716[label="primMinusNatS vx1650 vx1660",fontsize=16,color="magenta"];3716 -> 3732[label="",style="dashed", color="magenta", weight=3]; 3716 -> 3733[label="",style="dashed", color="magenta", weight=3]; 3717[label="Succ vx1650",fontsize=16,color="green",shape="box"];3718[label="Zero",fontsize=16,color="green",shape="box"];3719[label="Zero",fontsize=16,color="green",shape="box"];2532[label="primDivNatS0 (Succ vx12300) (Succ vx124000) (primGEqNatS (Succ vx12300) (Succ vx124000))",fontsize=16,color="black",shape="box"];2532 -> 2548[label="",style="solid", color="black", weight=3]; 2533[label="primDivNatS0 (Succ vx12300) Zero (primGEqNatS (Succ vx12300) Zero)",fontsize=16,color="black",shape="box"];2533 -> 2549[label="",style="solid", color="black", weight=3]; 2534[label="primDivNatS0 Zero (Succ vx124000) (primGEqNatS Zero (Succ vx124000))",fontsize=16,color="black",shape="box"];2534 -> 2550[label="",style="solid", color="black", weight=3]; 2535[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2535 -> 2551[label="",style="solid", color="black", weight=3]; 1278 -> 1277[label="",style="dashed", color="red", weight=0]; 1278[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1279 -> 1277[label="",style="dashed", color="red", weight=0]; 1279[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1311 -> 1277[label="",style="dashed", color="red", weight=0]; 1311[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1311 -> 1333[label="",style="dashed", color="magenta", weight=3]; 1312 -> 1277[label="",style="dashed", color="red", weight=0]; 1312[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1312 -> 1334[label="",style="dashed", color="magenta", weight=3]; 1313 -> 1277[label="",style="dashed", color="red", weight=0]; 1313[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1313 -> 1335[label="",style="dashed", color="magenta", weight=3]; 1310[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg vx102) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];4082[label="vx102/Succ vx1020",fontsize=10,color="white",style="solid",shape="box"];1310 -> 4082[label="",style="solid", color="burlywood", weight=9]; 4082 -> 1336[label="",style="solid", color="burlywood", weight=3]; 4083[label="vx102/Zero",fontsize=10,color="white",style="solid",shape="box"];1310 -> 4083[label="",style="solid", color="burlywood", weight=9]; 4083 -> 1337[label="",style="solid", color="burlywood", weight=3]; 1314 -> 1277[label="",style="dashed", color="red", weight=0]; 1314[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1314 -> 1338[label="",style="dashed", color="magenta", weight=3]; 1315 -> 1277[label="",style="dashed", color="red", weight=0]; 1315[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1315 -> 1339[label="",style="dashed", color="magenta", weight=3]; 1316 -> 1277[label="",style="dashed", color="red", weight=0]; 1316[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1316 -> 1340[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1277[label="",style="dashed", color="red", weight=0]; 1280[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1280 -> 1304[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1281 -> 1277[label="",style="dashed", color="red", weight=0]; 1281[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1281 -> 1306[label="",style="dashed", color="magenta", weight=3]; 1281 -> 1307[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1277[label="",style="dashed", color="red", weight=0]; 1282[label="primMulNat vx7310 vx7210",fontsize=16,color="magenta"];1282 -> 1308[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1309[label="",style="dashed", color="magenta", weight=3]; 1394 -> 3014[label="",style="dashed", color="red", weight=0]; 1394[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1394 -> 3019[label="",style="dashed", color="magenta", weight=3]; 1394 -> 3020[label="",style="dashed", color="magenta", weight=3]; 1395 -> 1991[label="",style="dashed", color="red", weight=0]; 1395[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1395 -> 1992[label="",style="dashed", color="magenta", weight=3]; 1395 -> 1993[label="",style="dashed", color="magenta", weight=3]; 1396 -> 1991[label="",style="dashed", color="red", weight=0]; 1396[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1396 -> 1994[label="",style="dashed", color="magenta", weight=3]; 1396 -> 1995[label="",style="dashed", color="magenta", weight=3]; 1397 -> 3014[label="",style="dashed", color="red", weight=0]; 1397[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98))",fontsize=16,color="magenta"];1397 -> 3021[label="",style="dashed", color="magenta", weight=3]; 1397 -> 3022[label="",style="dashed", color="magenta", weight=3]; 3425[label="gcd2 (esEsMyInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3425 -> 3474[label="",style="solid", color="black", weight=3]; 3426[label="Pos (primDivNatS vx97 (Succ vx15000))",fontsize=16,color="green",shape="box"];3426 -> 3475[label="",style="dashed", color="green", weight=3]; 3427 -> 2462[label="",style="dashed", color="red", weight=0]; 3427[label="error",fontsize=16,color="magenta"];3428[label="Neg (primDivNatS vx97 (Succ vx15000))",fontsize=16,color="green",shape="box"];3428 -> 3476[label="",style="dashed", color="green", weight=3]; 3429 -> 2462[label="",style="dashed", color="red", weight=0]; 3429[label="error",fontsize=16,color="magenta"];3732[label="vx1660",fontsize=16,color="green",shape="box"];3733[label="vx1650",fontsize=16,color="green",shape="box"];2548 -> 3546[label="",style="dashed", color="red", weight=0]; 2548[label="primDivNatS0 (Succ vx12300) (Succ vx124000) (primGEqNatS vx12300 vx124000)",fontsize=16,color="magenta"];2548 -> 3551[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3552[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3553[label="",style="dashed", color="magenta", weight=3]; 2548 -> 3554[label="",style="dashed", color="magenta", weight=3]; 2549[label="primDivNatS0 (Succ vx12300) Zero MyTrue",fontsize=16,color="black",shape="box"];2549 -> 2561[label="",style="solid", color="black", weight=3]; 2550[label="primDivNatS0 Zero (Succ vx124000) MyFalse",fontsize=16,color="black",shape="box"];2550 -> 2562[label="",style="solid", color="black", weight=3]; 2551[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];2551 -> 2563[label="",style="solid", color="black", weight=3]; 1333[label="vx7210",fontsize=16,color="green",shape="box"];1334[label="vx7210",fontsize=16,color="green",shape="box"];1335[label="vx7210",fontsize=16,color="green",shape="box"];1336[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg (Succ vx1020)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1336 -> 1349[label="",style="solid", color="black", weight=3]; 1337[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1337 -> 1350[label="",style="solid", color="black", weight=3]; 1338[label="vx7310",fontsize=16,color="green",shape="box"];1339[label="vx7310",fontsize=16,color="green",shape="box"];1340[label="vx7310",fontsize=16,color="green",shape="box"];1304[label="vx7310",fontsize=16,color="green",shape="box"];1305[label="vx7210",fontsize=16,color="green",shape="box"];1306[label="vx7310",fontsize=16,color="green",shape="box"];1307[label="vx7210",fontsize=16,color="green",shape="box"];1308[label="vx7310",fontsize=16,color="green",shape="box"];1309[label="vx7210",fontsize=16,color="green",shape="box"];3019 -> 1277[label="",style="dashed", color="red", weight=0]; 3019[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3019 -> 3403[label="",style="dashed", color="magenta", weight=3]; 3019 -> 3404[label="",style="dashed", color="magenta", weight=3]; 3020 -> 3405[label="",style="dashed", color="red", weight=0]; 3020[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3020 -> 3406[label="",style="dashed", color="magenta", weight=3]; 1992 -> 1277[label="",style="dashed", color="red", weight=0]; 1992[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];1992 -> 2422[label="",style="dashed", color="magenta", weight=3]; 1992 -> 2423[label="",style="dashed", color="magenta", weight=3]; 1993 -> 2424[label="",style="dashed", color="red", weight=0]; 1993[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];1993 -> 2425[label="",style="dashed", color="magenta", weight=3]; 1991[label="primQuotInt (Neg vx123) vx124",fontsize=16,color="burlywood",shape="triangle"];4084[label="vx124/Pos vx1240",fontsize=10,color="white",style="solid",shape="box"];1991 -> 4084[label="",style="solid", color="burlywood", weight=9]; 4084 -> 2427[label="",style="solid", color="burlywood", weight=3]; 4085[label="vx124/Neg vx1240",fontsize=10,color="white",style="solid",shape="box"];1991 -> 4085[label="",style="solid", color="burlywood", weight=9]; 4085 -> 2428[label="",style="solid", color="burlywood", weight=3]; 1994 -> 1277[label="",style="dashed", color="red", weight=0]; 1994[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];1994 -> 2429[label="",style="dashed", color="magenta", weight=3]; 1994 -> 2430[label="",style="dashed", color="magenta", weight=3]; 1995 -> 2424[label="",style="dashed", color="red", weight=0]; 1995[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];1995 -> 2426[label="",style="dashed", color="magenta", weight=3]; 3021 -> 1277[label="",style="dashed", color="red", weight=0]; 3021[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3021 -> 3413[label="",style="dashed", color="magenta", weight=3]; 3021 -> 3414[label="",style="dashed", color="magenta", weight=3]; 3022 -> 3405[label="",style="dashed", color="red", weight=0]; 3022[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3022 -> 3407[label="",style="dashed", color="magenta", weight=3]; 3474[label="gcd2 (primEqInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Pos vx98)",fontsize=16,color="black",shape="box"];3474 -> 3494[label="",style="solid", color="black", weight=3]; 3475 -> 2476[label="",style="dashed", color="red", weight=0]; 3475[label="primDivNatS vx97 (Succ vx15000)",fontsize=16,color="magenta"];3475 -> 3495[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3496[label="",style="dashed", color="magenta", weight=3]; 2462[label="error",fontsize=16,color="black",shape="triangle"];2462 -> 2477[label="",style="solid", color="black", weight=3]; 3476 -> 2476[label="",style="dashed", color="red", weight=0]; 3476[label="primDivNatS vx97 (Succ vx15000)",fontsize=16,color="magenta"];3476 -> 3497[label="",style="dashed", color="magenta", weight=3]; 3476 -> 3498[label="",style="dashed", color="magenta", weight=3]; 3551[label="vx124000",fontsize=16,color="green",shape="box"];3552[label="vx124000",fontsize=16,color="green",shape="box"];3553[label="vx12300",fontsize=16,color="green",shape="box"];3554[label="vx12300",fontsize=16,color="green",shape="box"];2561[label="Succ (primDivNatS (primMinusNatS (Succ vx12300) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2561 -> 2589[label="",style="dashed", color="green", weight=3]; 2562[label="Zero",fontsize=16,color="green",shape="box"];2563[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2563 -> 2590[label="",style="dashed", color="green", weight=3]; 1349[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg (Succ vx1020)) (Pos Zero))",fontsize=16,color="black",shape="box"];1349 -> 1359[label="",style="solid", color="black", weight=3]; 1350[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];1350 -> 1360[label="",style="solid", color="black", weight=3]; 3403[label="vx7300",fontsize=16,color="green",shape="box"];3404[label="vx7200",fontsize=16,color="green",shape="box"];3406 -> 1277[label="",style="dashed", color="red", weight=0]; 3406[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3406 -> 3415[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3416[label="",style="dashed", color="magenta", weight=3]; 3405[label="reduce2D (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="triangle"];3405 -> 3417[label="",style="solid", color="black", weight=3]; 2422[label="vx7300",fontsize=16,color="green",shape="box"];2423[label="vx7200",fontsize=16,color="green",shape="box"];2425 -> 1277[label="",style="dashed", color="red", weight=0]; 2425[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2425 -> 2431[label="",style="dashed", color="magenta", weight=3]; 2425 -> 2432[label="",style="dashed", color="magenta", weight=3]; 2424[label="reduce2D (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="triangle"];2424 -> 2433[label="",style="solid", color="black", weight=3]; 2427[label="primQuotInt (Neg vx123) (Pos vx1240)",fontsize=16,color="burlywood",shape="box"];4086[label="vx1240/Succ vx12400",fontsize=10,color="white",style="solid",shape="box"];2427 -> 4086[label="",style="solid", color="burlywood", weight=9]; 4086 -> 2442[label="",style="solid", color="burlywood", weight=3]; 4087[label="vx1240/Zero",fontsize=10,color="white",style="solid",shape="box"];2427 -> 4087[label="",style="solid", color="burlywood", weight=9]; 4087 -> 2443[label="",style="solid", color="burlywood", weight=3]; 2428[label="primQuotInt (Neg vx123) (Neg vx1240)",fontsize=16,color="burlywood",shape="box"];4088[label="vx1240/Succ vx12400",fontsize=10,color="white",style="solid",shape="box"];2428 -> 4088[label="",style="solid", color="burlywood", weight=9]; 4088 -> 2444[label="",style="solid", color="burlywood", weight=3]; 4089[label="vx1240/Zero",fontsize=10,color="white",style="solid",shape="box"];2428 -> 4089[label="",style="solid", color="burlywood", weight=9]; 4089 -> 2445[label="",style="solid", color="burlywood", weight=3]; 2429[label="vx7300",fontsize=16,color="green",shape="box"];2430[label="vx7200",fontsize=16,color="green",shape="box"];2426 -> 1277[label="",style="dashed", color="red", weight=0]; 2426[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2426 -> 2434[label="",style="dashed", color="magenta", weight=3]; 2426 -> 2435[label="",style="dashed", color="magenta", weight=3]; 3413[label="vx7300",fontsize=16,color="green",shape="box"];3414[label="vx7200",fontsize=16,color="green",shape="box"];3407 -> 1277[label="",style="dashed", color="red", weight=0]; 3407[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3407 -> 3418[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3419[label="",style="dashed", color="magenta", weight=3]; 3494[label="gcd2 (primEqInt (primMulInt vx730 vx720) (fromIntMyInt (Pos Zero))) (primMulInt vx730 vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4090[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];3494 -> 4090[label="",style="solid", color="burlywood", weight=9]; 4090 -> 3510[label="",style="solid", color="burlywood", weight=3]; 4091[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];3494 -> 4091[label="",style="solid", color="burlywood", weight=9]; 4091 -> 3511[label="",style="solid", color="burlywood", weight=3]; 3495[label="vx15000",fontsize=16,color="green",shape="box"];3496[label="vx97",fontsize=16,color="green",shape="box"];2477[label="stop MyTrue",fontsize=16,color="black",shape="box"];2477 -> 2490[label="",style="solid", color="black", weight=3]; 3497[label="vx15000",fontsize=16,color="green",shape="box"];3498[label="vx97",fontsize=16,color="green",shape="box"];2589 -> 2476[label="",style="dashed", color="red", weight=0]; 2589[label="primDivNatS (primMinusNatS (Succ vx12300) Zero) (Succ Zero)",fontsize=16,color="magenta"];2589 -> 2610[label="",style="dashed", color="magenta", weight=3]; 2589 -> 2611[label="",style="dashed", color="magenta", weight=3]; 2590 -> 2476[label="",style="dashed", color="red", weight=0]; 2590[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2590 -> 2612[label="",style="dashed", color="magenta", weight=3]; 2590 -> 2613[label="",style="dashed", color="magenta", weight=3]; 1359[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyFalse",fontsize=16,color="black",shape="box"];1359 -> 1364[label="",style="solid", color="black", weight=3]; 1360[label="reduce2Reduce1 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyTrue",fontsize=16,color="black",shape="box"];1360 -> 1365[label="",style="solid", color="black", weight=3]; 3415[label="vx7300",fontsize=16,color="green",shape="box"];3416[label="vx7200",fontsize=16,color="green",shape="box"];3417[label="gcd (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3417 -> 3430[label="",style="solid", color="black", weight=3]; 2431[label="vx7300",fontsize=16,color="green",shape="box"];2432[label="vx7200",fontsize=16,color="green",shape="box"];2433[label="gcd (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2433 -> 2446[label="",style="solid", color="black", weight=3]; 2442[label="primQuotInt (Neg vx123) (Pos (Succ vx12400))",fontsize=16,color="black",shape="box"];2442 -> 2461[label="",style="solid", color="black", weight=3]; 2443[label="primQuotInt (Neg vx123) (Pos Zero)",fontsize=16,color="black",shape="box"];2443 -> 2462[label="",style="solid", color="black", weight=3]; 2444[label="primQuotInt (Neg vx123) (Neg (Succ vx12400))",fontsize=16,color="black",shape="box"];2444 -> 2463[label="",style="solid", color="black", weight=3]; 2445[label="primQuotInt (Neg vx123) (Neg Zero)",fontsize=16,color="black",shape="box"];2445 -> 2464[label="",style="solid", color="black", weight=3]; 2434[label="vx7300",fontsize=16,color="green",shape="box"];2435[label="vx7200",fontsize=16,color="green",shape="box"];3418[label="vx7300",fontsize=16,color="green",shape="box"];3419[label="vx7200",fontsize=16,color="green",shape="box"];3510[label="gcd2 (primEqInt (primMulInt (Pos vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4092[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];3510 -> 4092[label="",style="solid", color="burlywood", weight=9]; 4092 -> 3520[label="",style="solid", color="burlywood", weight=3]; 4093[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];3510 -> 4093[label="",style="solid", color="burlywood", weight=9]; 4093 -> 3521[label="",style="solid", color="burlywood", weight=3]; 3511[label="gcd2 (primEqInt (primMulInt (Neg vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) vx720) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4094[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];3511 -> 4094[label="",style="solid", color="burlywood", weight=9]; 4094 -> 3522[label="",style="solid", color="burlywood", weight=3]; 4095[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];3511 -> 4095[label="",style="solid", color="burlywood", weight=9]; 4095 -> 3523[label="",style="solid", color="burlywood", weight=3]; 2490[label="error []",fontsize=16,color="red",shape="box"];2610[label="Zero",fontsize=16,color="green",shape="box"];2611[label="primMinusNatS (Succ vx12300) Zero",fontsize=16,color="black",shape="triangle"];2611 -> 2631[label="",style="solid", color="black", weight=3]; 2612[label="Zero",fontsize=16,color="green",shape="box"];2613[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];2613 -> 2632[label="",style="solid", color="black", weight=3]; 1364[label="reduce2Reduce0 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) otherwise",fontsize=16,color="black",shape="box"];1364 -> 1369[label="",style="solid", color="black", weight=3]; 1365 -> 46[label="",style="dashed", color="red", weight=0]; 1365[label="error",fontsize=16,color="magenta"];3430[label="gcd3 (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3430 -> 3477[label="",style="solid", color="black", weight=3]; 2446[label="gcd3 (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2446 -> 2465[label="",style="solid", color="black", weight=3]; 2461[label="Neg (primDivNatS vx123 (Succ vx12400))",fontsize=16,color="green",shape="box"];2461 -> 2476[label="",style="dashed", color="green", weight=3]; 2463[label="Pos (primDivNatS vx123 (Succ vx12400))",fontsize=16,color="green",shape="box"];2463 -> 2478[label="",style="dashed", color="green", weight=3]; 2464 -> 2462[label="",style="dashed", color="red", weight=0]; 2464[label="error",fontsize=16,color="magenta"];3520[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Pos vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3520 -> 3534[label="",style="solid", color="black", weight=3]; 3521[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Neg vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3521 -> 3535[label="",style="solid", color="black", weight=3]; 3522[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Pos vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3522 -> 3536[label="",style="solid", color="black", weight=3]; 3523[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Neg vx7200)) (Pos vx98)",fontsize=16,color="black",shape="box"];3523 -> 3537[label="",style="solid", color="black", weight=3]; 2631[label="Succ vx12300",fontsize=16,color="green",shape="box"];2632[label="Zero",fontsize=16,color="green",shape="box"];1369[label="reduce2Reduce0 (srMyInt vx730 vx720) (Neg vx101) (srMyInt vx730 vx720) (Neg vx100) MyTrue",fontsize=16,color="black",shape="box"];1369 -> 1372[label="",style="solid", color="black", weight=3]; 3477[label="gcd2 (esEsMyInt (Pos vx151) (fromIntMyInt (Pos Zero))) (Pos vx151) (Pos vx98)",fontsize=16,color="black",shape="box"];3477 -> 3499[label="",style="solid", color="black", weight=3]; 2465[label="gcd2 (esEsMyInt (Neg vx125) (fromIntMyInt (Pos Zero))) (Neg vx125) (Pos vx98)",fontsize=16,color="black",shape="box"];2465 -> 2479[label="",style="solid", color="black", weight=3]; 2478 -> 2476[label="",style="dashed", color="red", weight=0]; 2478[label="primDivNatS vx123 (Succ vx12400)",fontsize=16,color="magenta"];2478 -> 2491[label="",style="dashed", color="magenta", weight=3]; 3534 -> 3499[label="",style="dashed", color="red", weight=0]; 3534[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3534 -> 3593[label="",style="dashed", color="magenta", weight=3]; 3535 -> 2479[label="",style="dashed", color="red", weight=0]; 3535[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3535 -> 3594[label="",style="dashed", color="magenta", weight=3]; 3536 -> 2479[label="",style="dashed", color="red", weight=0]; 3536[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3536 -> 3595[label="",style="dashed", color="magenta", weight=3]; 3537 -> 3499[label="",style="dashed", color="red", weight=0]; 3537[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Pos vx98)",fontsize=16,color="magenta"];3537 -> 3596[label="",style="dashed", color="magenta", weight=3]; 1372[label="CnPc (quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))) (quotMyInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101)))",fontsize=16,color="green",shape="box"];1372 -> 1375[label="",style="dashed", color="green", weight=3]; 1372 -> 1376[label="",style="dashed", color="green", weight=3]; 3499[label="gcd2 (primEqInt (Pos vx151) (fromIntMyInt (Pos Zero))) (Pos vx151) (Pos vx98)",fontsize=16,color="burlywood",shape="triangle"];4096[label="vx151/Succ vx1510",fontsize=10,color="white",style="solid",shape="box"];3499 -> 4096[label="",style="solid", color="burlywood", weight=9]; 4096 -> 3512[label="",style="solid", color="burlywood", weight=3]; 4097[label="vx151/Zero",fontsize=10,color="white",style="solid",shape="box"];3499 -> 4097[label="",style="solid", color="burlywood", weight=9]; 4097 -> 3513[label="",style="solid", color="burlywood", weight=3]; 2479[label="gcd2 (primEqInt (Neg vx125) (fromIntMyInt (Pos Zero))) (Neg vx125) (Pos vx98)",fontsize=16,color="burlywood",shape="triangle"];4098[label="vx125/Succ vx1250",fontsize=10,color="white",style="solid",shape="box"];2479 -> 4098[label="",style="solid", color="burlywood", weight=9]; 4098 -> 2492[label="",style="solid", color="burlywood", weight=3]; 4099[label="vx125/Zero",fontsize=10,color="white",style="solid",shape="box"];2479 -> 4099[label="",style="solid", color="burlywood", weight=9]; 4099 -> 2493[label="",style="solid", color="burlywood", weight=3]; 2491[label="vx12400",fontsize=16,color="green",shape="box"];3593 -> 1277[label="",style="dashed", color="red", weight=0]; 3593[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3612[label="",style="dashed", color="magenta", weight=3]; 3594 -> 1277[label="",style="dashed", color="red", weight=0]; 3594[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3594 -> 3613[label="",style="dashed", color="magenta", weight=3]; 3594 -> 3614[label="",style="dashed", color="magenta", weight=3]; 3595 -> 1277[label="",style="dashed", color="red", weight=0]; 3595[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3595 -> 3615[label="",style="dashed", color="magenta", weight=3]; 3595 -> 3616[label="",style="dashed", color="magenta", weight=3]; 3596 -> 1277[label="",style="dashed", color="red", weight=0]; 3596[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3596 -> 3617[label="",style="dashed", color="magenta", weight=3]; 3596 -> 3618[label="",style="dashed", color="magenta", weight=3]; 1375[label="quotMyInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1375 -> 1379[label="",style="solid", color="black", weight=3]; 1376[label="quotMyInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1376 -> 1380[label="",style="solid", color="black", weight=3]; 3512[label="gcd2 (primEqInt (Pos (Succ vx1510)) (fromIntMyInt (Pos Zero))) (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3512 -> 3524[label="",style="solid", color="black", weight=3]; 3513[label="gcd2 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3513 -> 3525[label="",style="solid", color="black", weight=3]; 2492[label="gcd2 (primEqInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2492 -> 2504[label="",style="solid", color="black", weight=3]; 2493[label="gcd2 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2493 -> 2505[label="",style="solid", color="black", weight=3]; 3611[label="vx7300",fontsize=16,color="green",shape="box"];3612[label="vx7200",fontsize=16,color="green",shape="box"];3613[label="vx7300",fontsize=16,color="green",shape="box"];3614[label="vx7200",fontsize=16,color="green",shape="box"];3615[label="vx7300",fontsize=16,color="green",shape="box"];3616[label="vx7200",fontsize=16,color="green",shape="box"];3617[label="vx7300",fontsize=16,color="green",shape="box"];3618[label="vx7200",fontsize=16,color="green",shape="box"];1379[label="primQuotInt (srMyInt vx730 vx720) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="black",shape="box"];1379 -> 1384[label="",style="solid", color="black", weight=3]; 1380 -> 1991[label="",style="dashed", color="red", weight=0]; 1380[label="primQuotInt (Neg vx100) (reduce2D (srMyInt vx730 vx720) (Neg vx101))",fontsize=16,color="magenta"];1380 -> 2010[label="",style="dashed", color="magenta", weight=3]; 1380 -> 2011[label="",style="dashed", color="magenta", weight=3]; 3524[label="gcd2 (primEqInt (Pos (Succ vx1510)) (Pos Zero)) (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3524 -> 3538[label="",style="solid", color="black", weight=3]; 3525[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3525 -> 3539[label="",style="solid", color="black", weight=3]; 2504[label="gcd2 (primEqInt (Neg (Succ vx1250)) (Pos Zero)) (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2504 -> 2519[label="",style="solid", color="black", weight=3]; 2505[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2505 -> 2520[label="",style="solid", color="black", weight=3]; 1384[label="primQuotInt (primMulInt vx730 vx720) (reduce2D (primMulInt vx730 vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4100[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];1384 -> 4100[label="",style="solid", color="burlywood", weight=9]; 4100 -> 1391[label="",style="solid", color="burlywood", weight=3]; 4101[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];1384 -> 4101[label="",style="solid", color="burlywood", weight=9]; 4101 -> 1392[label="",style="solid", color="burlywood", weight=3]; 2010[label="vx100",fontsize=16,color="green",shape="box"];2011[label="reduce2D (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2011 -> 2436[label="",style="solid", color="black", weight=3]; 3538[label="gcd2 MyFalse (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3538 -> 3597[label="",style="solid", color="black", weight=3]; 3539[label="gcd2 MyTrue (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3539 -> 3598[label="",style="solid", color="black", weight=3]; 2519[label="gcd2 MyFalse (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2519 -> 2536[label="",style="solid", color="black", weight=3]; 2520[label="gcd2 MyTrue (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2520 -> 2537[label="",style="solid", color="black", weight=3]; 1391[label="primQuotInt (primMulInt (Pos vx7300) vx720) (reduce2D (primMulInt (Pos vx7300) vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4102[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1391 -> 4102[label="",style="solid", color="burlywood", weight=9]; 4102 -> 1399[label="",style="solid", color="burlywood", weight=3]; 4103[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1391 -> 4103[label="",style="solid", color="burlywood", weight=9]; 4103 -> 1400[label="",style="solid", color="burlywood", weight=3]; 1392[label="primQuotInt (primMulInt (Neg vx7300) vx720) (reduce2D (primMulInt (Neg vx7300) vx720) (Neg vx101))",fontsize=16,color="burlywood",shape="box"];4104[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];1392 -> 4104[label="",style="solid", color="burlywood", weight=9]; 4104 -> 1401[label="",style="solid", color="burlywood", weight=3]; 4105[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];1392 -> 4105[label="",style="solid", color="burlywood", weight=9]; 4105 -> 1402[label="",style="solid", color="burlywood", weight=3]; 2436[label="gcd (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2436 -> 2447[label="",style="solid", color="black", weight=3]; 3597[label="gcd0 (Pos (Succ vx1510)) (Pos vx98)",fontsize=16,color="black",shape="box"];3597 -> 3619[label="",style="solid", color="black", weight=3]; 3598[label="gcd1 (esEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];3598 -> 3620[label="",style="solid", color="black", weight=3]; 2536[label="gcd0 (Neg (Succ vx1250)) (Pos vx98)",fontsize=16,color="black",shape="box"];2536 -> 2552[label="",style="solid", color="black", weight=3]; 2537[label="gcd1 (esEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="black",shape="box"];2537 -> 2553[label="",style="solid", color="black", weight=3]; 1399[label="primQuotInt (primMulInt (Pos vx7300) (Pos vx7200)) (reduce2D (primMulInt (Pos vx7300) (Pos vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1399 -> 1433[label="",style="solid", color="black", weight=3]; 1400[label="primQuotInt (primMulInt (Pos vx7300) (Neg vx7200)) (reduce2D (primMulInt (Pos vx7300) (Neg vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1400 -> 1434[label="",style="solid", color="black", weight=3]; 1401[label="primQuotInt (primMulInt (Neg vx7300) (Pos vx7200)) (reduce2D (primMulInt (Neg vx7300) (Pos vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1401 -> 1435[label="",style="solid", color="black", weight=3]; 1402[label="primQuotInt (primMulInt (Neg vx7300) (Neg vx7200)) (reduce2D (primMulInt (Neg vx7300) (Neg vx7200)) (Neg vx101))",fontsize=16,color="black",shape="box"];1402 -> 1436[label="",style="solid", color="black", weight=3]; 2447[label="gcd3 (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2447 -> 2466[label="",style="solid", color="black", weight=3]; 3619 -> 3633[label="",style="dashed", color="red", weight=0]; 3619[label="gcd0Gcd' (absMyInt (Pos (Succ vx1510))) (absMyInt (Pos vx98))",fontsize=16,color="magenta"];3619 -> 3634[label="",style="dashed", color="magenta", weight=3]; 3619 -> 3635[label="",style="dashed", color="magenta", weight=3]; 3620[label="gcd1 (primEqInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4106[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];3620 -> 4106[label="",style="solid", color="burlywood", weight=9]; 4106 -> 3652[label="",style="solid", color="burlywood", weight=3]; 4107[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];3620 -> 4107[label="",style="solid", color="burlywood", weight=9]; 4107 -> 3653[label="",style="solid", color="burlywood", weight=3]; 2552 -> 3633[label="",style="dashed", color="red", weight=0]; 2552[label="gcd0Gcd' (absMyInt (Neg (Succ vx1250))) (absMyInt (Pos vx98))",fontsize=16,color="magenta"];2552 -> 3636[label="",style="dashed", color="magenta", weight=3]; 2552 -> 3637[label="",style="dashed", color="magenta", weight=3]; 2553[label="gcd1 (primEqInt (Pos vx98) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos vx98)",fontsize=16,color="burlywood",shape="box"];4108[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];2553 -> 4108[label="",style="solid", color="burlywood", weight=9]; 4108 -> 2565[label="",style="solid", color="burlywood", weight=3]; 4109[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];2553 -> 4109[label="",style="solid", color="burlywood", weight=9]; 4109 -> 2566[label="",style="solid", color="burlywood", weight=3]; 1433 -> 3014[label="",style="dashed", color="red", weight=0]; 1433[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1433 -> 3059[label="",style="dashed", color="magenta", weight=3]; 1433 -> 3060[label="",style="dashed", color="magenta", weight=3]; 1434 -> 1991[label="",style="dashed", color="red", weight=0]; 1434[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1434 -> 2032[label="",style="dashed", color="magenta", weight=3]; 1434 -> 2033[label="",style="dashed", color="magenta", weight=3]; 1435 -> 1991[label="",style="dashed", color="red", weight=0]; 1435[label="primQuotInt (Neg (primMulNat vx7300 vx7200)) (reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1435 -> 2034[label="",style="dashed", color="magenta", weight=3]; 1435 -> 2035[label="",style="dashed", color="magenta", weight=3]; 1436 -> 3014[label="",style="dashed", color="red", weight=0]; 1436[label="primQuotInt (Pos (primMulNat vx7300 vx7200)) (reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101))",fontsize=16,color="magenta"];1436 -> 3061[label="",style="dashed", color="magenta", weight=3]; 1436 -> 3062[label="",style="dashed", color="magenta", weight=3]; 2466[label="gcd2 (esEsMyInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2466 -> 2480[label="",style="solid", color="black", weight=3]; 3634[label="absMyInt (Pos vx98)",fontsize=16,color="black",shape="triangle"];3634 -> 3654[label="",style="solid", color="black", weight=3]; 3635 -> 3634[label="",style="dashed", color="red", weight=0]; 3635[label="absMyInt (Pos (Succ vx1510))",fontsize=16,color="magenta"];3635 -> 3655[label="",style="dashed", color="magenta", weight=3]; 3633[label="gcd0Gcd' vx171 vx170",fontsize=16,color="black",shape="triangle"];3633 -> 3656[label="",style="solid", color="black", weight=3]; 3652[label="gcd1 (primEqInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3652 -> 3666[label="",style="solid", color="black", weight=3]; 3653[label="gcd1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3653 -> 3667[label="",style="solid", color="black", weight=3]; 3636 -> 3634[label="",style="dashed", color="red", weight=0]; 3636[label="absMyInt (Pos vx98)",fontsize=16,color="magenta"];3637[label="absMyInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 2565[label="gcd1 (primEqInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 2566[label="gcd1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 3059 -> 1277[label="",style="dashed", color="red", weight=0]; 3059[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3059 -> 3420[label="",style="dashed", color="magenta", weight=3]; 3059 -> 3421[label="",style="dashed", color="magenta", weight=3]; 3060 -> 3422[label="",style="dashed", color="red", weight=0]; 3060[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];3060 -> 3423[label="",style="dashed", color="magenta", weight=3]; 2032 -> 1277[label="",style="dashed", color="red", weight=0]; 2032[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2032 -> 2437[label="",style="dashed", color="magenta", weight=3]; 2032 -> 2438[label="",style="dashed", color="magenta", weight=3]; 2033 -> 2439[label="",style="dashed", color="red", weight=0]; 2033[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2033 -> 2440[label="",style="dashed", color="magenta", weight=3]; 2034 -> 1277[label="",style="dashed", color="red", weight=0]; 2034[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2034 -> 2448[label="",style="dashed", color="magenta", weight=3]; 2034 -> 2449[label="",style="dashed", color="magenta", weight=3]; 2035 -> 2439[label="",style="dashed", color="red", weight=0]; 2035[label="reduce2D (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2035 -> 2441[label="",style="dashed", color="magenta", weight=3]; 3061 -> 1277[label="",style="dashed", color="red", weight=0]; 3061[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3061 -> 3431[label="",style="dashed", color="magenta", weight=3]; 3061 -> 3432[label="",style="dashed", color="magenta", weight=3]; 3062 -> 3422[label="",style="dashed", color="red", weight=0]; 3062[label="reduce2D (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];3062 -> 3424[label="",style="dashed", color="magenta", weight=3]; 2480[label="gcd2 (primEqInt (srMyInt vx730 vx720) (fromIntMyInt (Pos Zero))) (srMyInt vx730 vx720) (Neg vx101)",fontsize=16,color="black",shape="box"];2480 -> 2494[label="",style="solid", color="black", weight=3]; 3654[label="absReal (Pos vx98)",fontsize=16,color="black",shape="box"];3654 -> 3668[label="",style="solid", color="black", weight=3]; 3655[label="Succ vx1510",fontsize=16,color="green",shape="box"];3656[label="gcd0Gcd'2 vx171 vx170",fontsize=16,color="black",shape="box"];3656 -> 3669[label="",style="solid", color="black", weight=3]; 3666[label="gcd1 (primEqInt (Pos (Succ vx980)) (Pos Zero)) (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3666 -> 3675[label="",style="solid", color="black", weight=3]; 3667[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3667 -> 3676[label="",style="solid", color="black", weight=3]; 3657[label="absReal (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3657 -> 3670[label="",style="solid", color="black", weight=3]; 2592[label="gcd1 (primEqInt (Pos (Succ vx980)) (Pos Zero)) (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2592 -> 2615[label="",style="solid", color="black", weight=3]; 2593[label="gcd1 (primEqInt (Pos Zero) (Pos Zero)) (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2593 -> 2616[label="",style="solid", color="black", weight=3]; 3420[label="vx7300",fontsize=16,color="green",shape="box"];3421[label="vx7200",fontsize=16,color="green",shape="box"];3423 -> 1277[label="",style="dashed", color="red", weight=0]; 3423[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3423 -> 3433[label="",style="dashed", color="magenta", weight=3]; 3423 -> 3434[label="",style="dashed", color="magenta", weight=3]; 3422[label="reduce2D (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="triangle"];3422 -> 3435[label="",style="solid", color="black", weight=3]; 2437[label="vx7300",fontsize=16,color="green",shape="box"];2438[label="vx7200",fontsize=16,color="green",shape="box"];2440 -> 1277[label="",style="dashed", color="red", weight=0]; 2440[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2440 -> 2450[label="",style="dashed", color="magenta", weight=3]; 2440 -> 2451[label="",style="dashed", color="magenta", weight=3]; 2439[label="reduce2D (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="triangle"];2439 -> 2452[label="",style="solid", color="black", weight=3]; 2448[label="vx7300",fontsize=16,color="green",shape="box"];2449[label="vx7200",fontsize=16,color="green",shape="box"];2441 -> 1277[label="",style="dashed", color="red", weight=0]; 2441[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2441 -> 2453[label="",style="dashed", color="magenta", weight=3]; 2441 -> 2454[label="",style="dashed", color="magenta", weight=3]; 3431[label="vx7300",fontsize=16,color="green",shape="box"];3432[label="vx7200",fontsize=16,color="green",shape="box"];3424 -> 1277[label="",style="dashed", color="red", weight=0]; 3424[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];3424 -> 3436[label="",style="dashed", color="magenta", weight=3]; 3424 -> 3437[label="",style="dashed", color="magenta", weight=3]; 2494[label="gcd2 (primEqInt (primMulInt vx730 vx720) (fromIntMyInt (Pos Zero))) (primMulInt vx730 vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4110[label="vx730/Pos vx7300",fontsize=10,color="white",style="solid",shape="box"];2494 -> 4110[label="",style="solid", color="burlywood", weight=9]; 4110 -> 2506[label="",style="solid", color="burlywood", weight=3]; 4111[label="vx730/Neg vx7300",fontsize=10,color="white",style="solid",shape="box"];2494 -> 4111[label="",style="solid", color="burlywood", weight=9]; 4111 -> 2507[label="",style="solid", color="burlywood", weight=3]; 3668[label="absReal2 (Pos vx98)",fontsize=16,color="black",shape="box"];3668 -> 3677[label="",style="solid", color="black", weight=3]; 3669[label="gcd0Gcd'1 (esEsMyInt vx170 (fromIntMyInt (Pos Zero))) vx171 vx170",fontsize=16,color="black",shape="box"];3669 -> 3678[label="",style="solid", color="black", weight=3]; 3675[label="gcd1 MyFalse (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3675 -> 3683[label="",style="solid", color="black", weight=3]; 3676[label="gcd1 MyTrue (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3676 -> 3684[label="",style="solid", color="black", weight=3]; 3670[label="absReal2 (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3670 -> 3679[label="",style="solid", color="black", weight=3]; 2615[label="gcd1 MyFalse (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2615 -> 2634[label="",style="solid", color="black", weight=3]; 2616[label="gcd1 MyTrue (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2616 -> 2635[label="",style="solid", color="black", weight=3]; 3433[label="vx7300",fontsize=16,color="green",shape="box"];3434[label="vx7200",fontsize=16,color="green",shape="box"];3435[label="gcd (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3435 -> 3478[label="",style="solid", color="black", weight=3]; 2450[label="vx7300",fontsize=16,color="green",shape="box"];2451[label="vx7200",fontsize=16,color="green",shape="box"];2452[label="gcd (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2452 -> 2467[label="",style="solid", color="black", weight=3]; 2453[label="vx7300",fontsize=16,color="green",shape="box"];2454[label="vx7200",fontsize=16,color="green",shape="box"];3436[label="vx7300",fontsize=16,color="green",shape="box"];3437[label="vx7200",fontsize=16,color="green",shape="box"];2506[label="gcd2 (primEqInt (primMulInt (Pos vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4112[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];2506 -> 4112[label="",style="solid", color="burlywood", weight=9]; 4112 -> 2521[label="",style="solid", color="burlywood", weight=3]; 4113[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];2506 -> 4113[label="",style="solid", color="burlywood", weight=9]; 4113 -> 2522[label="",style="solid", color="burlywood", weight=3]; 2507[label="gcd2 (primEqInt (primMulInt (Neg vx7300) vx720) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) vx720) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4114[label="vx720/Pos vx7200",fontsize=10,color="white",style="solid",shape="box"];2507 -> 4114[label="",style="solid", color="burlywood", weight=9]; 4114 -> 2523[label="",style="solid", color="burlywood", weight=3]; 4115[label="vx720/Neg vx7200",fontsize=10,color="white",style="solid",shape="box"];2507 -> 4115[label="",style="solid", color="burlywood", weight=9]; 4115 -> 2524[label="",style="solid", color="burlywood", weight=3]; 3677[label="absReal1 (Pos vx98) (gtEsMyInt (Pos vx98) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3677 -> 3685[label="",style="solid", color="black", weight=3]; 3678[label="gcd0Gcd'1 (primEqInt vx170 (fromIntMyInt (Pos Zero))) vx171 vx170",fontsize=16,color="burlywood",shape="box"];4116[label="vx170/Pos vx1700",fontsize=10,color="white",style="solid",shape="box"];3678 -> 4116[label="",style="solid", color="burlywood", weight=9]; 4116 -> 3686[label="",style="solid", color="burlywood", weight=3]; 4117[label="vx170/Neg vx1700",fontsize=10,color="white",style="solid",shape="box"];3678 -> 4117[label="",style="solid", color="burlywood", weight=9]; 4117 -> 3687[label="",style="solid", color="burlywood", weight=3]; 3683[label="gcd0 (Pos Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];3683 -> 3693[label="",style="solid", color="black", weight=3]; 3684 -> 2462[label="",style="dashed", color="red", weight=0]; 3684[label="error",fontsize=16,color="magenta"];3679[label="absReal1 (Neg (Succ vx1250)) (gtEsMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3679 -> 3688[label="",style="solid", color="black", weight=3]; 2634[label="gcd0 (Neg Zero) (Pos (Succ vx980))",fontsize=16,color="black",shape="box"];2634 -> 2651[label="",style="solid", color="black", weight=3]; 2635 -> 2462[label="",style="dashed", color="red", weight=0]; 2635[label="error",fontsize=16,color="magenta"];3478[label="gcd3 (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3478 -> 3500[label="",style="solid", color="black", weight=3]; 2467[label="gcd3 (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2467 -> 2481[label="",style="solid", color="black", weight=3]; 2521[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Pos vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2521 -> 2538[label="",style="solid", color="black", weight=3]; 2522[label="gcd2 (primEqInt (primMulInt (Pos vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Pos vx7300) (Neg vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2522 -> 2539[label="",style="solid", color="black", weight=3]; 2523[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Pos vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Pos vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2523 -> 2540[label="",style="solid", color="black", weight=3]; 2524[label="gcd2 (primEqInt (primMulInt (Neg vx7300) (Neg vx7200)) (fromIntMyInt (Pos Zero))) (primMulInt (Neg vx7300) (Neg vx7200)) (Neg vx101)",fontsize=16,color="black",shape="box"];2524 -> 2541[label="",style="solid", color="black", weight=3]; 3685[label="absReal1 (Pos vx98) (fsEsOrdering (compareMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3685 -> 3694[label="",style="solid", color="black", weight=3]; 3686[label="gcd0Gcd'1 (primEqInt (Pos vx1700) (fromIntMyInt (Pos Zero))) vx171 (Pos vx1700)",fontsize=16,color="burlywood",shape="box"];4118[label="vx1700/Succ vx17000",fontsize=10,color="white",style="solid",shape="box"];3686 -> 4118[label="",style="solid", color="burlywood", weight=9]; 4118 -> 3695[label="",style="solid", color="burlywood", weight=3]; 4119[label="vx1700/Zero",fontsize=10,color="white",style="solid",shape="box"];3686 -> 4119[label="",style="solid", color="burlywood", weight=9]; 4119 -> 3696[label="",style="solid", color="burlywood", weight=3]; 3687[label="gcd0Gcd'1 (primEqInt (Neg vx1700) (fromIntMyInt (Pos Zero))) vx171 (Neg vx1700)",fontsize=16,color="burlywood",shape="box"];4120[label="vx1700/Succ vx17000",fontsize=10,color="white",style="solid",shape="box"];3687 -> 4120[label="",style="solid", color="burlywood", weight=9]; 4120 -> 3697[label="",style="solid", color="burlywood", weight=3]; 4121[label="vx1700/Zero",fontsize=10,color="white",style="solid",shape="box"];3687 -> 4121[label="",style="solid", color="burlywood", weight=9]; 4121 -> 3698[label="",style="solid", color="burlywood", weight=3]; 3693 -> 3633[label="",style="dashed", color="red", weight=0]; 3693[label="gcd0Gcd' (absMyInt (Pos Zero)) (absMyInt (Pos (Succ vx980)))",fontsize=16,color="magenta"];3693 -> 3706[label="",style="dashed", color="magenta", weight=3]; 3693 -> 3707[label="",style="dashed", color="magenta", weight=3]; 3688[label="absReal1 (Neg (Succ vx1250)) (fsEsOrdering (compareMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3688 -> 3699[label="",style="solid", color="black", weight=3]; 2651 -> 3633[label="",style="dashed", color="red", weight=0]; 2651[label="gcd0Gcd' (absMyInt (Neg Zero)) (absMyInt (Pos (Succ vx980)))",fontsize=16,color="magenta"];2651 -> 3638[label="",style="dashed", color="magenta", weight=3]; 2651 -> 3639[label="",style="dashed", color="magenta", weight=3]; 3500[label="gcd2 (esEsMyInt (Pos vx152) (fromIntMyInt (Pos Zero))) (Pos vx152) (Neg vx101)",fontsize=16,color="black",shape="box"];3500 -> 3514[label="",style="solid", color="black", weight=3]; 2481[label="gcd2 (esEsMyInt (Neg vx126) (fromIntMyInt (Pos Zero))) (Neg vx126) (Neg vx101)",fontsize=16,color="black",shape="box"];2481 -> 2495[label="",style="solid", color="black", weight=3]; 2538 -> 2554[label="",style="dashed", color="red", weight=0]; 2538[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2538 -> 2555[label="",style="dashed", color="magenta", weight=3]; 2538 -> 2556[label="",style="dashed", color="magenta", weight=3]; 2539 -> 2495[label="",style="dashed", color="red", weight=0]; 2539[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2539 -> 2567[label="",style="dashed", color="magenta", weight=3]; 2540 -> 2495[label="",style="dashed", color="red", weight=0]; 2540[label="gcd2 (primEqInt (Neg (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Neg (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2540 -> 2568[label="",style="dashed", color="magenta", weight=3]; 2541 -> 2554[label="",style="dashed", color="red", weight=0]; 2541[label="gcd2 (primEqInt (Pos (primMulNat vx7300 vx7200)) (fromIntMyInt (Pos Zero))) (Pos (primMulNat vx7300 vx7200)) (Neg vx101)",fontsize=16,color="magenta"];2541 -> 2557[label="",style="dashed", color="magenta", weight=3]; 2541 -> 2558[label="",style="dashed", color="magenta", weight=3]; 3694[label="absReal1 (Pos vx98) (not (esEsOrdering (compareMyInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3694 -> 3708[label="",style="solid", color="black", weight=3]; 3695[label="gcd0Gcd'1 (primEqInt (Pos (Succ vx17000)) (fromIntMyInt (Pos Zero))) vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3695 -> 3709[label="",style="solid", color="black", weight=3]; 3696[label="gcd0Gcd'1 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3696 -> 3710[label="",style="solid", color="black", weight=3]; 3697[label="gcd0Gcd'1 (primEqInt (Neg (Succ vx17000)) (fromIntMyInt (Pos Zero))) vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3697 -> 3711[label="",style="solid", color="black", weight=3]; 3698[label="gcd0Gcd'1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3698 -> 3712[label="",style="solid", color="black", weight=3]; 3706 -> 3634[label="",style="dashed", color="red", weight=0]; 3706[label="absMyInt (Pos (Succ vx980))",fontsize=16,color="magenta"];3706 -> 3720[label="",style="dashed", color="magenta", weight=3]; 3707 -> 3634[label="",style="dashed", color="red", weight=0]; 3707[label="absMyInt (Pos Zero)",fontsize=16,color="magenta"];3707 -> 3721[label="",style="dashed", color="magenta", weight=3]; 3699[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (compareMyInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3699 -> 3713[label="",style="solid", color="black", weight=3]; 3638 -> 3634[label="",style="dashed", color="red", weight=0]; 3638[label="absMyInt (Pos (Succ vx980))",fontsize=16,color="magenta"];3638 -> 3658[label="",style="dashed", color="magenta", weight=3]; 3639[label="absMyInt (Neg Zero)",fontsize=16,color="black",shape="box"];3639 -> 3659[label="",style="solid", color="black", weight=3]; 3514 -> 2554[label="",style="dashed", color="red", weight=0]; 3514[label="gcd2 (primEqInt (Pos vx152) (fromIntMyInt (Pos Zero))) (Pos vx152) (Neg vx101)",fontsize=16,color="magenta"];3514 -> 3526[label="",style="dashed", color="magenta", weight=3]; 3514 -> 3527[label="",style="dashed", color="magenta", weight=3]; 2495[label="gcd2 (primEqInt (Neg vx126) (fromIntMyInt (Pos Zero))) (Neg vx126) (Neg vx101)",fontsize=16,color="burlywood",shape="triangle"];4122[label="vx126/Succ vx1260",fontsize=10,color="white",style="solid",shape="box"];2495 -> 4122[label="",style="solid", color="burlywood", weight=9]; 4122 -> 2508[label="",style="solid", color="burlywood", weight=3]; 4123[label="vx126/Zero",fontsize=10,color="white",style="solid",shape="box"];2495 -> 4123[label="",style="solid", color="burlywood", weight=9]; 4123 -> 2509[label="",style="solid", color="burlywood", weight=3]; 2555 -> 1277[label="",style="dashed", color="red", weight=0]; 2555[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2555 -> 2569[label="",style="dashed", color="magenta", weight=3]; 2555 -> 2570[label="",style="dashed", color="magenta", weight=3]; 2556 -> 1277[label="",style="dashed", color="red", weight=0]; 2556[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2556 -> 2571[label="",style="dashed", color="magenta", weight=3]; 2556 -> 2572[label="",style="dashed", color="magenta", weight=3]; 2554[label="gcd2 (primEqInt (Pos vx128) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="burlywood",shape="triangle"];4124[label="vx128/Succ vx1280",fontsize=10,color="white",style="solid",shape="box"];2554 -> 4124[label="",style="solid", color="burlywood", weight=9]; 4124 -> 2573[label="",style="solid", color="burlywood", weight=3]; 4125[label="vx128/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 4125[label="",style="solid", color="burlywood", weight=9]; 4125 -> 2574[label="",style="solid", color="burlywood", weight=3]; 2567 -> 1277[label="",style="dashed", color="red", weight=0]; 2567[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2567 -> 2594[label="",style="dashed", color="magenta", weight=3]; 2567 -> 2595[label="",style="dashed", color="magenta", weight=3]; 2568 -> 1277[label="",style="dashed", color="red", weight=0]; 2568[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2568 -> 2596[label="",style="dashed", color="magenta", weight=3]; 2568 -> 2597[label="",style="dashed", color="magenta", weight=3]; 2557 -> 1277[label="",style="dashed", color="red", weight=0]; 2557[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2557 -> 2575[label="",style="dashed", color="magenta", weight=3]; 2557 -> 2576[label="",style="dashed", color="magenta", weight=3]; 2558 -> 1277[label="",style="dashed", color="red", weight=0]; 2558[label="primMulNat vx7300 vx7200",fontsize=16,color="magenta"];2558 -> 2577[label="",style="dashed", color="magenta", weight=3]; 2558 -> 2578[label="",style="dashed", color="magenta", weight=3]; 3708[label="absReal1 (Pos vx98) (not (esEsOrdering (primCmpInt (Pos vx98) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="burlywood",shape="box"];4126[label="vx98/Succ vx980",fontsize=10,color="white",style="solid",shape="box"];3708 -> 4126[label="",style="solid", color="burlywood", weight=9]; 4126 -> 3722[label="",style="solid", color="burlywood", weight=3]; 4127[label="vx98/Zero",fontsize=10,color="white",style="solid",shape="box"];3708 -> 4127[label="",style="solid", color="burlywood", weight=9]; 4127 -> 3723[label="",style="solid", color="burlywood", weight=3]; 3709[label="gcd0Gcd'1 (primEqInt (Pos (Succ vx17000)) (Pos Zero)) vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3709 -> 3724[label="",style="solid", color="black", weight=3]; 3710[label="gcd0Gcd'1 (primEqInt (Pos Zero) (Pos Zero)) vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3710 -> 3725[label="",style="solid", color="black", weight=3]; 3711[label="gcd0Gcd'1 (primEqInt (Neg (Succ vx17000)) (Pos Zero)) vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3711 -> 3726[label="",style="solid", color="black", weight=3]; 3712[label="gcd0Gcd'1 (primEqInt (Neg Zero) (Pos Zero)) vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3712 -> 3727[label="",style="solid", color="black", weight=3]; 3720[label="Succ vx980",fontsize=16,color="green",shape="box"];3721[label="Zero",fontsize=16,color="green",shape="box"];3713[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1250)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3713 -> 3728[label="",style="solid", color="black", weight=3]; 3658[label="Succ vx980",fontsize=16,color="green",shape="box"];3659[label="absReal (Neg Zero)",fontsize=16,color="black",shape="box"];3659 -> 3671[label="",style="solid", color="black", weight=3]; 3526[label="vx152",fontsize=16,color="green",shape="box"];3527[label="vx152",fontsize=16,color="green",shape="box"];2508[label="gcd2 (primEqInt (Neg (Succ vx1260)) (fromIntMyInt (Pos Zero))) (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2508 -> 2525[label="",style="solid", color="black", weight=3]; 2509[label="gcd2 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2509 -> 2526[label="",style="solid", color="black", weight=3]; 2569[label="vx7300",fontsize=16,color="green",shape="box"];2570[label="vx7200",fontsize=16,color="green",shape="box"];2571[label="vx7300",fontsize=16,color="green",shape="box"];2572[label="vx7200",fontsize=16,color="green",shape="box"];2573[label="gcd2 (primEqInt (Pos (Succ vx1280)) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2573 -> 2598[label="",style="solid", color="black", weight=3]; 2574[label="gcd2 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2574 -> 2599[label="",style="solid", color="black", weight=3]; 2594[label="vx7300",fontsize=16,color="green",shape="box"];2595[label="vx7200",fontsize=16,color="green",shape="box"];2596[label="vx7300",fontsize=16,color="green",shape="box"];2597[label="vx7200",fontsize=16,color="green",shape="box"];2575[label="vx7300",fontsize=16,color="green",shape="box"];2576[label="vx7200",fontsize=16,color="green",shape="box"];2577[label="vx7300",fontsize=16,color="green",shape="box"];2578[label="vx7200",fontsize=16,color="green",shape="box"];3722[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpInt (Pos (Succ vx980)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3722 -> 3734[label="",style="solid", color="black", weight=3]; 3723[label="absReal1 (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3723 -> 3735[label="",style="solid", color="black", weight=3]; 3724[label="gcd0Gcd'1 MyFalse vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3724 -> 3736[label="",style="solid", color="black", weight=3]; 3725[label="gcd0Gcd'1 MyTrue vx171 (Pos Zero)",fontsize=16,color="black",shape="box"];3725 -> 3737[label="",style="solid", color="black", weight=3]; 3726[label="gcd0Gcd'1 MyFalse vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3726 -> 3738[label="",style="solid", color="black", weight=3]; 3727[label="gcd0Gcd'1 MyTrue vx171 (Neg Zero)",fontsize=16,color="black",shape="box"];3727 -> 3739[label="",style="solid", color="black", weight=3]; 3728[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1250)) (Pos Zero)) LT))",fontsize=16,color="black",shape="triangle"];3728 -> 3740[label="",style="solid", color="black", weight=3]; 3671[label="absReal2 (Neg Zero)",fontsize=16,color="black",shape="box"];3671 -> 3680[label="",style="solid", color="black", weight=3]; 2525[label="gcd2 (primEqInt (Neg (Succ vx1260)) (Pos Zero)) (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2525 -> 2542[label="",style="solid", color="black", weight=3]; 2526[label="gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2526 -> 2543[label="",style="solid", color="black", weight=3]; 2598[label="gcd2 (primEqInt (Pos (Succ vx1280)) (Pos Zero)) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2598 -> 2617[label="",style="solid", color="black", weight=3]; 2599[label="gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2599 -> 2618[label="",style="solid", color="black", weight=3]; 3734[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpInt (Pos (Succ vx980)) (Pos Zero)) LT))",fontsize=16,color="black",shape="box"];3734 -> 3744[label="",style="solid", color="black", weight=3]; 3735[label="absReal1 (Pos Zero) (not (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT))",fontsize=16,color="black",shape="box"];3735 -> 3745[label="",style="solid", color="black", weight=3]; 3736[label="gcd0Gcd'0 vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3736 -> 3746[label="",style="solid", color="black", weight=3]; 3737[label="vx171",fontsize=16,color="green",shape="box"];3738[label="gcd0Gcd'0 vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3738 -> 3747[label="",style="solid", color="black", weight=3]; 3739[label="vx171",fontsize=16,color="green",shape="box"];3740[label="absReal1 (Neg (Succ vx1250)) (not (esEsOrdering LT LT))",fontsize=16,color="black",shape="box"];3740 -> 3748[label="",style="solid", color="black", weight=3]; 3680[label="absReal1 (Neg Zero) (gtEsMyInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3680 -> 3689[label="",style="solid", color="black", weight=3]; 2542[label="gcd2 MyFalse (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2542 -> 2579[label="",style="solid", color="black", weight=3]; 2543[label="gcd2 MyTrue (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2543 -> 2580[label="",style="solid", color="black", weight=3]; 2617[label="gcd2 MyFalse (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2617 -> 2636[label="",style="solid", color="black", weight=3]; 2618[label="gcd2 MyTrue (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2618 -> 2637[label="",style="solid", color="black", weight=3]; 3744[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering (primCmpNat (Succ vx980) Zero) LT))",fontsize=16,color="black",shape="box"];3744 -> 3751[label="",style="solid", color="black", weight=3]; 3745[label="absReal1 (Pos Zero) (not (esEsOrdering EQ LT))",fontsize=16,color="black",shape="box"];3745 -> 3752[label="",style="solid", color="black", weight=3]; 3746 -> 3633[label="",style="dashed", color="red", weight=0]; 3746[label="gcd0Gcd' (Pos (Succ vx17000)) (remMyInt vx171 (Pos (Succ vx17000)))",fontsize=16,color="magenta"];3746 -> 3753[label="",style="dashed", color="magenta", weight=3]; 3746 -> 3754[label="",style="dashed", color="magenta", weight=3]; 3747 -> 3633[label="",style="dashed", color="red", weight=0]; 3747[label="gcd0Gcd' (Neg (Succ vx17000)) (remMyInt vx171 (Neg (Succ vx17000)))",fontsize=16,color="magenta"];3747 -> 3755[label="",style="dashed", color="magenta", weight=3]; 3747 -> 3756[label="",style="dashed", color="magenta", weight=3]; 3748[label="absReal1 (Neg (Succ vx1250)) (not MyTrue)",fontsize=16,color="black",shape="box"];3748 -> 3757[label="",style="solid", color="black", weight=3]; 3689[label="absReal1 (Neg Zero) (fsEsOrdering (compareMyInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3689 -> 3700[label="",style="solid", color="black", weight=3]; 2579[label="gcd0 (Neg (Succ vx1260)) (Neg vx101)",fontsize=16,color="black",shape="box"];2579 -> 2600[label="",style="solid", color="black", weight=3]; 2580[label="gcd1 (esEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="black",shape="box"];2580 -> 2601[label="",style="solid", color="black", weight=3]; 2636[label="gcd0 (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="triangle"];2636 -> 2652[label="",style="solid", color="black", weight=3]; 2637[label="gcd1 (esEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="black",shape="box"];2637 -> 2653[label="",style="solid", color="black", weight=3]; 3751[label="absReal1 (Pos (Succ vx980)) (not (esEsOrdering GT LT))",fontsize=16,color="black",shape="box"];3751 -> 3759[label="",style="solid", color="black", weight=3]; 3752[label="absReal1 (Pos Zero) (not MyFalse)",fontsize=16,color="black",shape="box"];3752 -> 3760[label="",style="solid", color="black", weight=3]; 3753[label="remMyInt vx171 (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3753 -> 3761[label="",style="solid", color="black", weight=3]; 3754[label="Pos (Succ vx17000)",fontsize=16,color="green",shape="box"];3755[label="remMyInt vx171 (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3755 -> 3762[label="",style="solid", color="black", weight=3]; 3756[label="Neg (Succ vx17000)",fontsize=16,color="green",shape="box"];3757[label="absReal1 (Neg (Succ vx1250)) MyFalse",fontsize=16,color="black",shape="box"];3757 -> 3763[label="",style="solid", color="black", weight=3]; 3700[label="absReal1 (Neg Zero) (not (esEsOrdering (compareMyInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3700 -> 3714[label="",style="solid", color="black", weight=3]; 2600 -> 3633[label="",style="dashed", color="red", weight=0]; 2600[label="gcd0Gcd' (absMyInt (Neg (Succ vx1260))) (absMyInt (Neg vx101))",fontsize=16,color="magenta"];2600 -> 3640[label="",style="dashed", color="magenta", weight=3]; 2600 -> 3641[label="",style="dashed", color="magenta", weight=3]; 2601[label="gcd1 (primEqInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4128[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];2601 -> 4128[label="",style="solid", color="burlywood", weight=9]; 4128 -> 2620[label="",style="solid", color="burlywood", weight=3]; 4129[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];2601 -> 4129[label="",style="solid", color="burlywood", weight=9]; 4129 -> 2621[label="",style="solid", color="burlywood", weight=3]; 2652 -> 3633[label="",style="dashed", color="red", weight=0]; 2652[label="gcd0Gcd' (absMyInt (Pos vx127)) (absMyInt (Neg vx101))",fontsize=16,color="magenta"];2652 -> 3642[label="",style="dashed", color="magenta", weight=3]; 2652 -> 3643[label="",style="dashed", color="magenta", weight=3]; 2653[label="gcd1 (primEqInt (Neg vx101) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg vx101)",fontsize=16,color="burlywood",shape="box"];4130[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];2653 -> 4130[label="",style="solid", color="burlywood", weight=9]; 4130 -> 2670[label="",style="solid", color="burlywood", weight=3]; 4131[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];2653 -> 4131[label="",style="solid", color="burlywood", weight=9]; 4131 -> 2671[label="",style="solid", color="burlywood", weight=3]; 3759[label="absReal1 (Pos (Succ vx980)) (not MyFalse)",fontsize=16,color="black",shape="box"];3759 -> 3765[label="",style="solid", color="black", weight=3]; 3760[label="absReal1 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];3760 -> 3766[label="",style="solid", color="black", weight=3]; 3761[label="primRemInt vx171 (Pos (Succ vx17000))",fontsize=16,color="burlywood",shape="box"];4132[label="vx171/Pos vx1710",fontsize=10,color="white",style="solid",shape="box"];3761 -> 4132[label="",style="solid", color="burlywood", weight=9]; 4132 -> 3767[label="",style="solid", color="burlywood", weight=3]; 4133[label="vx171/Neg vx1710",fontsize=10,color="white",style="solid",shape="box"];3761 -> 4133[label="",style="solid", color="burlywood", weight=9]; 4133 -> 3768[label="",style="solid", color="burlywood", weight=3]; 3762[label="primRemInt vx171 (Neg (Succ vx17000))",fontsize=16,color="burlywood",shape="box"];4134[label="vx171/Pos vx1710",fontsize=10,color="white",style="solid",shape="box"];3762 -> 4134[label="",style="solid", color="burlywood", weight=9]; 4134 -> 3769[label="",style="solid", color="burlywood", weight=3]; 4135[label="vx171/Neg vx1710",fontsize=10,color="white",style="solid",shape="box"];3762 -> 4135[label="",style="solid", color="burlywood", weight=9]; 4135 -> 3770[label="",style="solid", color="burlywood", weight=3]; 3763[label="absReal0 (Neg (Succ vx1250)) otherwise",fontsize=16,color="black",shape="box"];3763 -> 3771[label="",style="solid", color="black", weight=3]; 3714[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3714 -> 3729[label="",style="solid", color="black", weight=3]; 3640[label="absMyInt (Neg vx101)",fontsize=16,color="black",shape="triangle"];3640 -> 3660[label="",style="solid", color="black", weight=3]; 3641 -> 3640[label="",style="dashed", color="red", weight=0]; 3641[label="absMyInt (Neg (Succ vx1260))",fontsize=16,color="magenta"];3641 -> 3661[label="",style="dashed", color="magenta", weight=3]; 2620[label="gcd1 (primEqInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2620 -> 2639[label="",style="solid", color="black", weight=3]; 2621[label="gcd1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2621 -> 2640[label="",style="solid", color="black", weight=3]; 3642 -> 3640[label="",style="dashed", color="red", weight=0]; 3642[label="absMyInt (Neg vx101)",fontsize=16,color="magenta"];3643 -> 3634[label="",style="dashed", color="red", weight=0]; 3643[label="absMyInt (Pos vx127)",fontsize=16,color="magenta"];3643 -> 3662[label="",style="dashed", color="magenta", weight=3]; 2670[label="gcd1 (primEqInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2670 -> 2687[label="",style="solid", color="black", weight=3]; 2671[label="gcd1 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2671 -> 2688[label="",style="solid", color="black", weight=3]; 3765[label="absReal1 (Pos (Succ vx980)) MyTrue",fontsize=16,color="black",shape="box"];3765 -> 3772[label="",style="solid", color="black", weight=3]; 3766[label="Pos Zero",fontsize=16,color="green",shape="box"];3767[label="primRemInt (Pos vx1710) (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3767 -> 3773[label="",style="solid", color="black", weight=3]; 3768[label="primRemInt (Neg vx1710) (Pos (Succ vx17000))",fontsize=16,color="black",shape="box"];3768 -> 3774[label="",style="solid", color="black", weight=3]; 3769[label="primRemInt (Pos vx1710) (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3769 -> 3775[label="",style="solid", color="black", weight=3]; 3770[label="primRemInt (Neg vx1710) (Neg (Succ vx17000))",fontsize=16,color="black",shape="box"];3770 -> 3776[label="",style="solid", color="black", weight=3]; 3771[label="absReal0 (Neg (Succ vx1250)) MyTrue",fontsize=16,color="black",shape="box"];3771 -> 3777[label="",style="solid", color="black", weight=3]; 3729[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT))",fontsize=16,color="black",shape="triangle"];3729 -> 3741[label="",style="solid", color="black", weight=3]; 3660[label="absReal (Neg vx101)",fontsize=16,color="black",shape="box"];3660 -> 3672[label="",style="solid", color="black", weight=3]; 3661[label="Succ vx1260",fontsize=16,color="green",shape="box"];2639[label="gcd1 (primEqInt (Neg (Succ vx1010)) (Pos Zero)) (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2639 -> 2655[label="",style="solid", color="black", weight=3]; 2640[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2640 -> 2656[label="",style="solid", color="black", weight=3]; 3662[label="vx127",fontsize=16,color="green",shape="box"];2687[label="gcd1 (primEqInt (Neg (Succ vx1010)) (Pos Zero)) (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2687 -> 2703[label="",style="solid", color="black", weight=3]; 2688[label="gcd1 (primEqInt (Neg Zero) (Pos Zero)) (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2688 -> 2704[label="",style="solid", color="black", weight=3]; 3772[label="Pos (Succ vx980)",fontsize=16,color="green",shape="box"];3773[label="Pos (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3773 -> 3778[label="",style="dashed", color="green", weight=3]; 3774[label="Neg (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3774 -> 3779[label="",style="dashed", color="green", weight=3]; 3775[label="Pos (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3775 -> 3780[label="",style="dashed", color="green", weight=3]; 3776[label="Neg (primModNatS vx1710 (Succ vx17000))",fontsize=16,color="green",shape="box"];3776 -> 3781[label="",style="dashed", color="green", weight=3]; 3777[label="negateMyInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3777 -> 3782[label="",style="solid", color="black", weight=3]; 3741[label="absReal1 (Neg Zero) (not (esEsOrdering EQ LT))",fontsize=16,color="black",shape="box"];3741 -> 3749[label="",style="solid", color="black", weight=3]; 3672[label="absReal2 (Neg vx101)",fontsize=16,color="black",shape="box"];3672 -> 3681[label="",style="solid", color="black", weight=3]; 2655[label="gcd1 MyFalse (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 2656[label="gcd1 MyTrue (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 2703[label="gcd1 MyFalse (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2703 -> 2723[label="",style="solid", color="black", weight=3]; 2704[label="gcd1 MyTrue (Pos vx127) (Neg Zero)",fontsize=16,color="black",shape="box"];2704 -> 2724[label="",style="solid", color="black", weight=3]; 3778[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="burlywood",shape="triangle"];4136[label="vx1710/Succ vx17100",fontsize=10,color="white",style="solid",shape="box"];3778 -> 4136[label="",style="solid", color="burlywood", weight=9]; 4136 -> 3783[label="",style="solid", color="burlywood", weight=3]; 4137[label="vx1710/Zero",fontsize=10,color="white",style="solid",shape="box"];3778 -> 4137[label="",style="solid", color="burlywood", weight=9]; 4137 -> 3784[label="",style="solid", color="burlywood", weight=3]; 3779 -> 3778[label="",style="dashed", color="red", weight=0]; 3779[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3779 -> 3785[label="",style="dashed", color="magenta", weight=3]; 3780 -> 3778[label="",style="dashed", color="red", weight=0]; 3780[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3780 -> 3786[label="",style="dashed", color="magenta", weight=3]; 3781 -> 3778[label="",style="dashed", color="red", weight=0]; 3781[label="primModNatS vx1710 (Succ vx17000)",fontsize=16,color="magenta"];3781 -> 3787[label="",style="dashed", color="magenta", weight=3]; 3781 -> 3788[label="",style="dashed", color="magenta", weight=3]; 3782[label="primNegInt (Neg (Succ vx1250))",fontsize=16,color="black",shape="box"];3782 -> 3789[label="",style="solid", color="black", weight=3]; 3749[label="absReal1 (Neg Zero) (not MyFalse)",fontsize=16,color="black",shape="box"];3749 -> 3758[label="",style="solid", color="black", weight=3]; 3681[label="absReal1 (Neg vx101) (gtEsMyInt (Neg vx101) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3681 -> 3690[label="",style="solid", color="black", weight=3]; 2673[label="gcd0 (Neg Zero) (Neg (Succ vx1010))",fontsize=16,color="black",shape="box"];2673 -> 2690[label="",style="solid", color="black", weight=3]; 2674 -> 2462[label="",style="dashed", color="red", weight=0]; 2674[label="error",fontsize=16,color="magenta"];2723 -> 2636[label="",style="dashed", color="red", weight=0]; 2723[label="gcd0 (Pos vx127) (Neg (Succ vx1010))",fontsize=16,color="magenta"];2723 -> 2743[label="",style="dashed", color="magenta", weight=3]; 2724 -> 2462[label="",style="dashed", color="red", weight=0]; 2724[label="error",fontsize=16,color="magenta"];3783[label="primModNatS (Succ vx17100) (Succ vx17000)",fontsize=16,color="burlywood",shape="box"];4138[label="vx17000/Succ vx170000",fontsize=10,color="white",style="solid",shape="box"];3783 -> 4138[label="",style="solid", color="burlywood", weight=9]; 4138 -> 3790[label="",style="solid", color="burlywood", weight=3]; 4139[label="vx17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3783 -> 4139[label="",style="solid", color="burlywood", weight=9]; 4139 -> 3791[label="",style="solid", color="burlywood", weight=3]; 3784[label="primModNatS Zero (Succ vx17000)",fontsize=16,color="black",shape="box"];3784 -> 3792[label="",style="solid", color="black", weight=3]; 3785[label="vx1710",fontsize=16,color="green",shape="box"];3786[label="vx17000",fontsize=16,color="green",shape="box"];3787[label="vx1710",fontsize=16,color="green",shape="box"];3788[label="vx17000",fontsize=16,color="green",shape="box"];3789[label="Pos (Succ vx1250)",fontsize=16,color="green",shape="box"];3758[label="absReal1 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];3758 -> 3764[label="",style="solid", color="black", weight=3]; 3690[label="absReal1 (Neg vx101) (fsEsOrdering (compareMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];3690 -> 3701[label="",style="solid", color="black", weight=3]; 2690 -> 3633[label="",style="dashed", color="red", weight=0]; 2690[label="gcd0Gcd' (absMyInt (Neg Zero)) (absMyInt (Neg (Succ vx1010)))",fontsize=16,color="magenta"];2690 -> 3644[label="",style="dashed", color="magenta", weight=3]; 2690 -> 3645[label="",style="dashed", color="magenta", weight=3]; 2743[label="Succ vx1010",fontsize=16,color="green",shape="box"];3790[label="primModNatS (Succ vx17100) (Succ (Succ vx170000))",fontsize=16,color="black",shape="box"];3790 -> 3793[label="",style="solid", color="black", weight=3]; 3791[label="primModNatS (Succ vx17100) (Succ Zero)",fontsize=16,color="black",shape="box"];3791 -> 3794[label="",style="solid", color="black", weight=3]; 3792[label="Zero",fontsize=16,color="green",shape="box"];3764[label="Neg Zero",fontsize=16,color="green",shape="box"];3701[label="absReal1 (Neg vx101) (not (esEsOrdering (compareMyInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3701 -> 3715[label="",style="solid", color="black", weight=3]; 3644 -> 3640[label="",style="dashed", color="red", weight=0]; 3644[label="absMyInt (Neg (Succ vx1010))",fontsize=16,color="magenta"];3644 -> 3663[label="",style="dashed", color="magenta", weight=3]; 3645 -> 3640[label="",style="dashed", color="red", weight=0]; 3645[label="absMyInt (Neg Zero)",fontsize=16,color="magenta"];3645 -> 3664[label="",style="dashed", color="magenta", weight=3]; 3793[label="primModNatS0 vx17100 vx170000 (primGEqNatS vx17100 (Succ vx170000))",fontsize=16,color="burlywood",shape="box"];4140[label="vx17100/Succ vx171000",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4140[label="",style="solid", color="burlywood", weight=9]; 4140 -> 3795[label="",style="solid", color="burlywood", weight=3]; 4141[label="vx17100/Zero",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4141[label="",style="solid", color="burlywood", weight=9]; 4141 -> 3796[label="",style="solid", color="burlywood", weight=3]; 3794[label="Zero",fontsize=16,color="green",shape="box"];3715[label="absReal1 (Neg vx101) (not (esEsOrdering (primCmpInt (Neg vx101) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="burlywood",shape="box"];4142[label="vx101/Succ vx1010",fontsize=10,color="white",style="solid",shape="box"];3715 -> 4142[label="",style="solid", color="burlywood", weight=9]; 4142 -> 3730[label="",style="solid", color="burlywood", weight=3]; 4143[label="vx101/Zero",fontsize=10,color="white",style="solid",shape="box"];3715 -> 4143[label="",style="solid", color="burlywood", weight=9]; 4143 -> 3731[label="",style="solid", color="burlywood", weight=3]; 3663[label="Succ vx1010",fontsize=16,color="green",shape="box"];3664[label="Zero",fontsize=16,color="green",shape="box"];3795[label="primModNatS0 (Succ vx171000) vx170000 (primGEqNatS (Succ vx171000) (Succ vx170000))",fontsize=16,color="black",shape="box"];3795 -> 3797[label="",style="solid", color="black", weight=3]; 3796[label="primModNatS0 Zero vx170000 (primGEqNatS Zero (Succ vx170000))",fontsize=16,color="black",shape="box"];3796 -> 3798[label="",style="solid", color="black", weight=3]; 3730[label="absReal1 (Neg (Succ vx1010)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1010)) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3730 -> 3742[label="",style="solid", color="black", weight=3]; 3731[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT))",fontsize=16,color="black",shape="box"];3731 -> 3743[label="",style="solid", color="black", weight=3]; 3797[label="primModNatS0 (Succ vx171000) vx170000 (primGEqNatS vx171000 vx170000)",fontsize=16,color="burlywood",shape="box"];4144[label="vx171000/Succ vx1710000",fontsize=10,color="white",style="solid",shape="box"];3797 -> 4144[label="",style="solid", color="burlywood", weight=9]; 4144 -> 3799[label="",style="solid", color="burlywood", weight=3]; 4145[label="vx171000/Zero",fontsize=10,color="white",style="solid",shape="box"];3797 -> 4145[label="",style="solid", color="burlywood", weight=9]; 4145 -> 3800[label="",style="solid", color="burlywood", weight=3]; 3798[label="primModNatS0 Zero vx170000 MyFalse",fontsize=16,color="black",shape="box"];3798 -> 3801[label="",style="solid", color="black", weight=3]; 3742 -> 3728[label="",style="dashed", color="red", weight=0]; 3742[label="absReal1 (Neg (Succ vx1010)) (not (esEsOrdering (primCmpInt (Neg (Succ vx1010)) (Pos Zero)) LT))",fontsize=16,color="magenta"];3742 -> 3750[label="",style="dashed", color="magenta", weight=3]; 3743 -> 3729[label="",style="dashed", color="red", weight=0]; 3743[label="absReal1 (Neg Zero) (not (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT))",fontsize=16,color="magenta"];3799[label="primModNatS0 (Succ (Succ vx1710000)) vx170000 (primGEqNatS (Succ vx1710000) vx170000)",fontsize=16,color="burlywood",shape="box"];4146[label="vx170000/Succ vx1700000",fontsize=10,color="white",style="solid",shape="box"];3799 -> 4146[label="",style="solid", color="burlywood", weight=9]; 4146 -> 3802[label="",style="solid", color="burlywood", weight=3]; 4147[label="vx170000/Zero",fontsize=10,color="white",style="solid",shape="box"];3799 -> 4147[label="",style="solid", color="burlywood", weight=9]; 4147 -> 3803[label="",style="solid", color="burlywood", weight=3]; 3800[label="primModNatS0 (Succ Zero) vx170000 (primGEqNatS Zero vx170000)",fontsize=16,color="burlywood",shape="box"];4148[label="vx170000/Succ vx1700000",fontsize=10,color="white",style="solid",shape="box"];3800 -> 4148[label="",style="solid", color="burlywood", weight=9]; 4148 -> 3804[label="",style="solid", color="burlywood", weight=3]; 4149[label="vx170000/Zero",fontsize=10,color="white",style="solid",shape="box"];3800 -> 4149[label="",style="solid", color="burlywood", weight=9]; 4149 -> 3805[label="",style="solid", color="burlywood", weight=3]; 3801[label="Succ Zero",fontsize=16,color="green",shape="box"];3750[label="vx1010",fontsize=16,color="green",shape="box"];3802[label="primModNatS0 (Succ (Succ vx1710000)) (Succ vx1700000) (primGEqNatS (Succ vx1710000) (Succ vx1700000))",fontsize=16,color="black",shape="box"];3802 -> 3806[label="",style="solid", color="black", weight=3]; 3803[label="primModNatS0 (Succ (Succ vx1710000)) Zero (primGEqNatS (Succ vx1710000) Zero)",fontsize=16,color="black",shape="box"];3803 -> 3807[label="",style="solid", color="black", weight=3]; 3804[label="primModNatS0 (Succ Zero) (Succ vx1700000) (primGEqNatS Zero (Succ vx1700000))",fontsize=16,color="black",shape="box"];3804 -> 3808[label="",style="solid", color="black", weight=3]; 3805[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3805 -> 3809[label="",style="solid", color="black", weight=3]; 3806 -> 3922[label="",style="dashed", color="red", weight=0]; 3806[label="primModNatS0 (Succ (Succ vx1710000)) (Succ vx1700000) (primGEqNatS vx1710000 vx1700000)",fontsize=16,color="magenta"];3806 -> 3923[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3924[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3925[label="",style="dashed", color="magenta", weight=3]; 3806 -> 3926[label="",style="dashed", color="magenta", weight=3]; 3807[label="primModNatS0 (Succ (Succ vx1710000)) Zero MyTrue",fontsize=16,color="black",shape="box"];3807 -> 3812[label="",style="solid", color="black", weight=3]; 3808[label="primModNatS0 (Succ Zero) (Succ vx1700000) MyFalse",fontsize=16,color="black",shape="box"];3808 -> 3813[label="",style="solid", color="black", weight=3]; 3809[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];3809 -> 3814[label="",style="solid", color="black", weight=3]; 3923[label="vx1700000",fontsize=16,color="green",shape="box"];3924[label="vx1710000",fontsize=16,color="green",shape="box"];3925[label="Succ vx1710000",fontsize=16,color="green",shape="box"];3926[label="vx1700000",fontsize=16,color="green",shape="box"];3922[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS vx182 vx183)",fontsize=16,color="burlywood",shape="triangle"];4150[label="vx182/Succ vx1820",fontsize=10,color="white",style="solid",shape="box"];3922 -> 4150[label="",style="solid", color="burlywood", weight=9]; 4150 -> 3951[label="",style="solid", color="burlywood", weight=3]; 4151[label="vx182/Zero",fontsize=10,color="white",style="solid",shape="box"];3922 -> 4151[label="",style="solid", color="burlywood", weight=9]; 4151 -> 3952[label="",style="solid", color="burlywood", weight=3]; 3812 -> 3778[label="",style="dashed", color="red", weight=0]; 3812[label="primModNatS (primMinusNatS (Succ (Succ vx1710000)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];3812 -> 3819[label="",style="dashed", color="magenta", weight=3]; 3812 -> 3820[label="",style="dashed", color="magenta", weight=3]; 3813[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];3814 -> 3778[label="",style="dashed", color="red", weight=0]; 3814[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];3814 -> 3821[label="",style="dashed", color="magenta", weight=3]; 3814 -> 3822[label="",style="dashed", color="magenta", weight=3]; 3951[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) vx183)",fontsize=16,color="burlywood",shape="box"];4152[label="vx183/Succ vx1830",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4152[label="",style="solid", color="burlywood", weight=9]; 4152 -> 3953[label="",style="solid", color="burlywood", weight=3]; 4153[label="vx183/Zero",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4153[label="",style="solid", color="burlywood", weight=9]; 4153 -> 3954[label="",style="solid", color="burlywood", weight=3]; 3952[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero vx183)",fontsize=16,color="burlywood",shape="box"];4154[label="vx183/Succ vx1830",fontsize=10,color="white",style="solid",shape="box"];3952 -> 4154[label="",style="solid", color="burlywood", weight=9]; 4154 -> 3955[label="",style="solid", color="burlywood", weight=3]; 4155[label="vx183/Zero",fontsize=10,color="white",style="solid",shape="box"];3952 -> 4155[label="",style="solid", color="burlywood", weight=9]; 4155 -> 3956[label="",style="solid", color="burlywood", weight=3]; 3819 -> 3682[label="",style="dashed", color="red", weight=0]; 3819[label="primMinusNatS (Succ (Succ vx1710000)) (Succ Zero)",fontsize=16,color="magenta"];3819 -> 3827[label="",style="dashed", color="magenta", weight=3]; 3819 -> 3828[label="",style="dashed", color="magenta", weight=3]; 3820[label="Succ Zero",fontsize=16,color="green",shape="box"];3821 -> 3682[label="",style="dashed", color="red", weight=0]; 3821[label="primMinusNatS (Succ Zero) (Succ Zero)",fontsize=16,color="magenta"];3821 -> 3829[label="",style="dashed", color="magenta", weight=3]; 3821 -> 3830[label="",style="dashed", color="magenta", weight=3]; 3822[label="Succ Zero",fontsize=16,color="green",shape="box"];3953[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) (Succ vx1830))",fontsize=16,color="black",shape="box"];3953 -> 3957[label="",style="solid", color="black", weight=3]; 3954[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS (Succ vx1820) Zero)",fontsize=16,color="black",shape="box"];3954 -> 3958[label="",style="solid", color="black", weight=3]; 3955[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero (Succ vx1830))",fontsize=16,color="black",shape="box"];3955 -> 3959[label="",style="solid", color="black", weight=3]; 3956[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3956 -> 3960[label="",style="solid", color="black", weight=3]; 3827[label="Succ Zero",fontsize=16,color="green",shape="box"];3828[label="Succ (Succ vx1710000)",fontsize=16,color="green",shape="box"];3829[label="Succ Zero",fontsize=16,color="green",shape="box"];3830[label="Succ Zero",fontsize=16,color="green",shape="box"];3957 -> 3922[label="",style="dashed", color="red", weight=0]; 3957[label="primModNatS0 (Succ vx180) (Succ vx181) (primGEqNatS vx1820 vx1830)",fontsize=16,color="magenta"];3957 -> 3961[label="",style="dashed", color="magenta", weight=3]; 3957 -> 3962[label="",style="dashed", color="magenta", weight=3]; 3958[label="primModNatS0 (Succ vx180) (Succ vx181) MyTrue",fontsize=16,color="black",shape="triangle"];3958 -> 3963[label="",style="solid", color="black", weight=3]; 3959[label="primModNatS0 (Succ vx180) (Succ vx181) MyFalse",fontsize=16,color="black",shape="box"];3959 -> 3964[label="",style="solid", color="black", weight=3]; 3960 -> 3958[label="",style="dashed", color="red", weight=0]; 3960[label="primModNatS0 (Succ vx180) (Succ vx181) MyTrue",fontsize=16,color="magenta"];3961[label="vx1820",fontsize=16,color="green",shape="box"];3962[label="vx1830",fontsize=16,color="green",shape="box"];3963 -> 3778[label="",style="dashed", color="red", weight=0]; 3963[label="primModNatS (primMinusNatS (Succ vx180) (Succ (Succ vx181))) (Succ (Succ (Succ vx181)))",fontsize=16,color="magenta"];3963 -> 3965[label="",style="dashed", color="magenta", weight=3]; 3963 -> 3966[label="",style="dashed", color="magenta", weight=3]; 3964[label="Succ (Succ vx180)",fontsize=16,color="green",shape="box"];3965 -> 3682[label="",style="dashed", color="red", weight=0]; 3965[label="primMinusNatS (Succ vx180) (Succ (Succ vx181))",fontsize=16,color="magenta"];3965 -> 3967[label="",style="dashed", color="magenta", weight=3]; 3965 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3966[label="Succ (Succ vx181)",fontsize=16,color="green",shape="box"];3967[label="Succ (Succ vx181)",fontsize=16,color="green",shape="box"];3968[label="Succ vx180",fontsize=16,color="green",shape="box"];} ---------------------------------------- (684) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (685) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (686) YES