/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) IFR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 16 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) TransformationProof [EQUIVALENT, 0 ms] (15) QDP (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] (17) YES (18) QDP (19) MNOCProof [EQUIVALENT, 0 ms] (20) QDP (21) NonTerminationLoopProof [COMPLETE, 7 ms] (22) NO (23) QDP (24) TransformationProof [EQUIVALENT, 0 ms] (25) QDP (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) DependencyGraphProof [EQUIVALENT, 0 ms] (30) AND (31) QDP (32) MRRProof [EQUIVALENT, 0 ms] (33) QDP (34) PisEmptyProof [EQUIVALENT, 0 ms] (35) YES (36) QDP (37) QDPSizeChangeProof [EQUIVALENT, 5 ms] (38) YES (39) QDP (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] (41) YES (42) QDP (43) QDPSizeChangeProof [EQUIVALENT, 0 ms] (44) YES (45) QDP (46) MNOCProof [EQUIVALENT, 0 ms] (47) QDP (48) InductionCalculusProof [EQUIVALENT, 0 ms] (49) QDP (50) TransformationProof [EQUIVALENT, 0 ms] (51) QDP (52) TransformationProof [EQUIVALENT, 0 ms] (53) QDP (54) DependencyGraphProof [EQUIVALENT, 0 ms] (55) QDP (56) TransformationProof [EQUIVALENT, 0 ms] (57) QDP (58) DependencyGraphProof [EQUIVALENT, 0 ms] (59) QDP (60) TransformationProof [EQUIVALENT, 0 ms] (61) QDP (62) DependencyGraphProof [EQUIVALENT, 0 ms] (63) QDP (64) TransformationProof [EQUIVALENT, 0 ms] (65) QDP (66) DependencyGraphProof [EQUIVALENT, 0 ms] (67) QDP (68) TransformationProof [EQUIVALENT, 0 ms] (69) QDP (70) DependencyGraphProof [EQUIVALENT, 0 ms] (71) QDP (72) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (97) QDP (98) DependencyGraphProof [EQUIVALENT, 0 ms] (99) QDP (100) TransformationProof [EQUIVALENT, 0 ms] (101) QDP (102) DependencyGraphProof [EQUIVALENT, 0 ms] (103) QDP (104) TransformationProof [EQUIVALENT, 0 ms] (105) QDP (106) TransformationProof [EQUIVALENT, 0 ms] (107) QDP (108) TransformationProof [EQUIVALENT, 0 ms] (109) QDP (110) TransformationProof [EQUIVALENT, 0 ms] (111) QDP (112) TransformationProof [EQUIVALENT, 0 ms] (113) QDP (114) DependencyGraphProof [EQUIVALENT, 0 ms] (115) QDP (116) TransformationProof [EQUIVALENT, 0 ms] (117) QDP (118) DependencyGraphProof [EQUIVALENT, 0 ms] (119) QDP (120) TransformationProof [EQUIVALENT, 0 ms] (121) QDP (122) TransformationProof [EQUIVALENT, 0 ms] (123) QDP (124) TransformationProof [EQUIVALENT, 0 ms] (125) QDP (126) TransformationProof [EQUIVALENT, 0 ms] (127) QDP (128) TransformationProof [EQUIVALENT, 0 ms] (129) QDP (130) DependencyGraphProof [EQUIVALENT, 0 ms] (131) QDP (132) TransformationProof [EQUIVALENT, 0 ms] (133) QDP (134) TransformationProof [EQUIVALENT, 0 ms] (135) QDP (136) TransformationProof [EQUIVALENT, 0 ms] (137) QDP (138) TransformationProof [EQUIVALENT, 0 ms] (139) QDP (140) TransformationProof [EQUIVALENT, 0 ms] (141) QDP (142) TransformationProof [EQUIVALENT, 0 ms] (143) QDP (144) 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) DependencyGraphProof [EQUIVALENT, 0 ms] (153) QDP (154) TransformationProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) TransformationProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) DependencyGraphProof [EQUIVALENT, 0 ms] (163) QDP (164) TransformationProof [EQUIVALENT, 0 ms] (165) QDP (166) TransformationProof [EQUIVALENT, 0 ms] (167) QDP (168) TransformationProof [EQUIVALENT, 0 ms] (169) QDP (170) TransformationProof [EQUIVALENT, 0 ms] (171) QDP (172) TransformationProof [EQUIVALENT, 0 ms] (173) QDP (174) TransformationProof [EQUIVALENT, 0 ms] (175) QDP (176) TransformationProof [EQUIVALENT, 0 ms] (177) QDP (178) TransformationProof [EQUIVALENT, 0 ms] (179) QDP (180) TransformationProof [EQUIVALENT, 0 ms] (181) QDP (182) TransformationProof [EQUIVALENT, 0 ms] (183) QDP (184) DependencyGraphProof [EQUIVALENT, 0 ms] (185) QDP (186) TransformationProof [EQUIVALENT, 0 ms] (187) QDP (188) TransformationProof [EQUIVALENT, 0 ms] (189) QDP (190) TransformationProof [EQUIVALENT, 0 ms] (191) QDP (192) TransformationProof [EQUIVALENT, 0 ms] (193) QDP (194) DependencyGraphProof [EQUIVALENT, 0 ms] (195) QDP (196) TransformationProof [EQUIVALENT, 0 ms] (197) QDP (198) TransformationProof [EQUIVALENT, 0 ms] (199) QDP (200) TransformationProof [EQUIVALENT, 0 ms] (201) QDP (202) TransformationProof [EQUIVALENT, 0 ms] (203) QDP (204) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (213) QDP (214) TransformationProof [EQUIVALENT, 0 ms] (215) QDP (216) DependencyGraphProof [EQUIVALENT, 0 ms] (217) QDP (218) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (231) QDP (232) TransformationProof [EQUIVALENT, 0 ms] (233) QDP (234) TransformationProof [EQUIVALENT, 0 ms] (235) QDP (236) TransformationProof [EQUIVALENT, 0 ms] (237) QDP (238) TransformationProof [EQUIVALENT, 0 ms] (239) QDP (240) TransformationProof [EQUIVALENT, 0 ms] (241) QDP (242) TransformationProof [EQUIVALENT, 0 ms] (243) QDP (244) TransformationProof [EQUIVALENT, 0 ms] (245) QDP (246) TransformationProof [EQUIVALENT, 0 ms] (247) QDP (248) DependencyGraphProof [EQUIVALENT, 0 ms] (249) QDP (250) TransformationProof [EQUIVALENT, 0 ms] (251) QDP (252) TransformationProof [EQUIVALENT, 0 ms] (253) QDP (254) TransformationProof [EQUIVALENT, 0 ms] (255) QDP (256) TransformationProof [EQUIVALENT, 0 ms] (257) QDP (258) DependencyGraphProof [EQUIVALENT, 0 ms] (259) QDP (260) TransformationProof [EQUIVALENT, 0 ms] (261) QDP (262) TransformationProof [EQUIVALENT, 0 ms] (263) QDP (264) TransformationProof [EQUIVALENT, 0 ms] (265) QDP (266) TransformationProof [EQUIVALENT, 0 ms] (267) QDP (268) TransformationProof [EQUIVALENT, 0 ms] (269) QDP (270) TransformationProof [EQUIVALENT, 0 ms] (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) DependencyGraphProof [EQUIVALENT, 0 ms] (285) QDP (286) TransformationProof [EQUIVALENT, 0 ms] (287) QDP (288) TransformationProof [EQUIVALENT, 0 ms] (289) QDP (290) TransformationProof [EQUIVALENT, 0 ms] (291) QDP (292) TransformationProof [EQUIVALENT, 0 ms] (293) QDP (294) TransformationProof [EQUIVALENT, 0 ms] (295) QDP (296) TransformationProof [EQUIVALENT, 0 ms] (297) QDP (298) TransformationProof [EQUIVALENT, 0 ms] (299) QDP (300) DependencyGraphProof [EQUIVALENT, 0 ms] (301) QDP (302) TransformationProof [EQUIVALENT, 0 ms] (303) QDP (304) TransformationProof [EQUIVALENT, 0 ms] (305) QDP (306) TransformationProof [EQUIVALENT, 0 ms] (307) QDP (308) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (319) QDP (320) TransformationProof [EQUIVALENT, 0 ms] (321) QDP (322) TransformationProof [EQUIVALENT, 0 ms] (323) QDP (324) TransformationProof [EQUIVALENT, 0 ms] (325) QDP (326) DependencyGraphProof [EQUIVALENT, 0 ms] (327) QDP (328) TransformationProof [EQUIVALENT, 0 ms] (329) QDP (330) TransformationProof [EQUIVALENT, 0 ms] (331) QDP (332) TransformationProof [EQUIVALENT, 0 ms] (333) QDP (334) TransformationProof [EQUIVALENT, 0 ms] (335) QDP (336) TransformationProof [EQUIVALENT, 0 ms] (337) QDP (338) TransformationProof [EQUIVALENT, 0 ms] (339) QDP (340) TransformationProof [EQUIVALENT, 0 ms] (341) QDP (342) DependencyGraphProof [EQUIVALENT, 0 ms] (343) QDP (344) TransformationProof [EQUIVALENT, 0 ms] (345) QDP (346) TransformationProof [EQUIVALENT, 0 ms] (347) QDP (348) TransformationProof [EQUIVALENT, 0 ms] (349) QDP (350) TransformationProof [EQUIVALENT, 0 ms] (351) QDP (352) TransformationProof [EQUIVALENT, 0 ms] (353) QDP (354) TransformationProof [EQUIVALENT, 0 ms] (355) QDP (356) TransformationProof [EQUIVALENT, 0 ms] (357) QDP (358) TransformationProof [EQUIVALENT, 0 ms] (359) QDP (360) TransformationProof [EQUIVALENT, 0 ms] (361) QDP (362) TransformationProof [EQUIVALENT, 0 ms] (363) QDP (364) TransformationProof [EQUIVALENT, 1 ms] (365) QDP (366) TransformationProof [EQUIVALENT, 0 ms] (367) QDP (368) DependencyGraphProof [EQUIVALENT, 0 ms] (369) QDP (370) TransformationProof [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) TransformationProof [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) TransformationProof [EQUIVALENT, 0 ms] (393) QDP (394) TransformationProof [EQUIVALENT, 0 ms] (395) QDP (396) TransformationProof [EQUIVALENT, 0 ms] (397) QDP (398) TransformationProof [EQUIVALENT, 0 ms] (399) QDP (400) TransformationProof [EQUIVALENT, 0 ms] (401) QDP (402) TransformationProof [EQUIVALENT, 0 ms] (403) QDP (404) TransformationProof [EQUIVALENT, 0 ms] (405) QDP (406) TransformationProof [EQUIVALENT, 0 ms] (407) QDP (408) TransformationProof [EQUIVALENT, 0 ms] (409) QDP (410) DependencyGraphProof [EQUIVALENT, 0 ms] (411) QDP (412) TransformationProof [EQUIVALENT, 0 ms] (413) QDP (414) TransformationProof [EQUIVALENT, 0 ms] (415) QDP (416) TransformationProof [EQUIVALENT, 0 ms] (417) QDP (418) TransformationProof [EQUIVALENT, 0 ms] (419) QDP (420) TransformationProof [EQUIVALENT, 0 ms] (421) QDP (422) TransformationProof [EQUIVALENT, 0 ms] (423) QDP (424) TransformationProof [EQUIVALENT, 0 ms] (425) QDP (426) DependencyGraphProof [EQUIVALENT, 0 ms] (427) QDP (428) QDPOrderProof [EQUIVALENT, 88 ms] (429) QDP (430) MNOCProof [EQUIVALENT, 0 ms] (431) QDP (432) InductionCalculusProof [EQUIVALENT, 0 ms] (433) QDP (434) QDP (435) TransformationProof [EQUIVALENT, 0 ms] (436) QDP (437) QDPSizeChangeProof [EQUIVALENT, 0 ms] (438) YES (439) QDP (440) QDPSizeChangeProof [EQUIVALENT, 0 ms] (441) YES (442) QDP (443) TransformationProof [EQUIVALENT, 0 ms] (444) QDP (445) QDPSizeChangeProof [EQUIVALENT, 0 ms] (446) YES (447) QDP (448) DependencyGraphProof [EQUIVALENT, 0 ms] (449) AND (450) QDP (451) QDPOrderProof [EQUIVALENT, 0 ms] (452) QDP (453) DependencyGraphProof [EQUIVALENT, 0 ms] (454) QDP (455) QDPSizeChangeProof [EQUIVALENT, 0 ms] (456) YES (457) QDP (458) MRRProof [EQUIVALENT, 0 ms] (459) QDP (460) PisEmptyProof [EQUIVALENT, 0 ms] (461) YES (462) QDP (463) TransformationProof [EQUIVALENT, 0 ms] (464) QDP (465) QDPSizeChangeProof [EQUIVALENT, 0 ms] (466) YES (467) QDP (468) TransformationProof [EQUIVALENT, 0 ms] (469) QDP (470) QDPSizeChangeProof [EQUIVALENT, 0 ms] (471) YES (472) QDP (473) TransformationProof [EQUIVALENT, 0 ms] (474) QDP (475) QDPSizeChangeProof [EQUIVALENT, 0 ms] (476) YES (477) QDP (478) TransformationProof [EQUIVALENT, 0 ms] (479) QDP (480) QDPSizeChangeProof [EQUIVALENT, 0 ms] (481) YES (482) QDP (483) QDPSizeChangeProof [EQUIVALENT, 0 ms] (484) YES (485) QDP (486) QDPSizeChangeProof [EQUIVALENT, 0 ms] (487) YES (488) Narrow [COMPLETE, 0 ms] (489) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal0 x True = `negate` x; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; " "gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; " The following Function with conditions "gcd 0 0 = error []; gcd x y = gcd' (abs x) (abs y) where { gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); } ; " is transformed to "gcd yz zu = gcd3 yz zu; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } ; " "gcd1 True yz zu = error []; gcd1 zv zw zx = gcd0 zw zx; " "gcd2 True yz zu = gcd1 (zu == 0) yz zu; gcd2 zy zz vuu = gcd0 zz vuu; " "gcd3 yz zu = gcd2 (yz == 0) yz zu; gcd3 vuv vuw = gcd0 vuv vuw; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } " are unpacked to the following functions on top level "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "gcd0Gcd'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " The bindings of the following Let/Where expression "reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } " are unpacked to the following functions on top level "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); " "reduce2D vux vuy = gcd vux vuy; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="enumFromThen",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="enumFromThen vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="enumFromThen vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="numericEnumFromThen vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="iterate (vuz4 - vuz3 +) vuz3",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="vuz3 : iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz3)",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 8 -> 13[label="",style="dashed", color="red", weight=0]; 8[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz3)",fontsize=16,color="magenta"];8 -> 14[label="",style="dashed", color="magenta", weight=3]; 14[label="vuz3",fontsize=16,color="green",shape="box"];13[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz5)",fontsize=16,color="black",shape="triangle"];13 -> 16[label="",style="solid", color="black", weight=3]; 16[label="vuz4 - vuz3 + vuz5 : iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + (vuz4 - vuz3 + vuz5))",fontsize=16,color="green",shape="box"];16 -> 17[label="",style="dashed", color="green", weight=3]; 16 -> 18[label="",style="dashed", color="green", weight=3]; 17[label="vuz4 - vuz3 + vuz5",fontsize=16,color="black",shape="box"];17 -> 5645[label="",style="solid", color="black", weight=3]; 18 -> 13[label="",style="dashed", color="red", weight=0]; 18[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + (vuz4 - vuz3 + vuz5))",fontsize=16,color="magenta"];18 -> 20[label="",style="dashed", color="magenta", weight=3]; 5645 -> 5329[label="",style="dashed", color="red", weight=0]; 5645[label="vuz4 + (negate vuz3) + vuz5",fontsize=16,color="magenta"];5645 -> 6517[label="",style="dashed", color="magenta", weight=3]; 5645 -> 6518[label="",style="dashed", color="magenta", weight=3]; 20[label="vuz4 - vuz3 + vuz5",fontsize=16,color="black",shape="box"];20 -> 5425[label="",style="solid", color="black", weight=3]; 6517[label="vuz5",fontsize=16,color="green",shape="box"];6518 -> 5329[label="",style="dashed", color="red", weight=0]; 6518[label="vuz4 + (negate vuz3)",fontsize=16,color="magenta"];6518 -> 7106[label="",style="dashed", color="magenta", weight=3]; 6518 -> 7107[label="",style="dashed", color="magenta", weight=3]; 5329[label="vuz306 + vuz307",fontsize=16,color="burlywood",shape="triangle"];10820[label="vuz306/vuz3060 :% vuz3061",fontsize=10,color="white",style="solid",shape="box"];5329 -> 10820[label="",style="solid", color="burlywood", weight=9]; 10820 -> 5964[label="",style="solid", color="burlywood", weight=3]; 5425 -> 5329[label="",style="dashed", color="red", weight=0]; 5425[label="vuz4 + (negate vuz3) + vuz5",fontsize=16,color="magenta"];5425 -> 6125[label="",style="dashed", color="magenta", weight=3]; 5425 -> 6126[label="",style="dashed", color="magenta", weight=3]; 7106[label="negate vuz3",fontsize=16,color="burlywood",shape="triangle"];10821[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];7106 -> 10821[label="",style="solid", color="burlywood", weight=9]; 10821 -> 7111[label="",style="solid", color="burlywood", weight=3]; 7107[label="vuz4",fontsize=16,color="green",shape="box"];5964[label="vuz3060 :% vuz3061 + vuz307",fontsize=16,color="burlywood",shape="box"];10822[label="vuz307/vuz3070 :% vuz3071",fontsize=10,color="white",style="solid",shape="box"];5964 -> 10822[label="",style="solid", color="burlywood", weight=9]; 10822 -> 7081[label="",style="solid", color="burlywood", weight=3]; 6125[label="vuz5",fontsize=16,color="green",shape="box"];6126 -> 5329[label="",style="dashed", color="red", weight=0]; 6126[label="vuz4 + (negate vuz3)",fontsize=16,color="magenta"];6126 -> 7108[label="",style="dashed", color="magenta", weight=3]; 6126 -> 7109[label="",style="dashed", color="magenta", weight=3]; 7111[label="negate vuz30 :% vuz31",fontsize=16,color="black",shape="box"];7111 -> 7113[label="",style="solid", color="black", weight=3]; 7081[label="vuz3060 :% vuz3061 + vuz3070 :% vuz3071",fontsize=16,color="black",shape="box"];7081 -> 7110[label="",style="solid", color="black", weight=3]; 7108 -> 7106[label="",style="dashed", color="red", weight=0]; 7108[label="negate vuz3",fontsize=16,color="magenta"];7109[label="vuz4",fontsize=16,color="green",shape="box"];7113[label="(negate vuz30) :% vuz31",fontsize=16,color="green",shape="box"];7113 -> 7115[label="",style="dashed", color="green", weight=3]; 7110[label="reduce (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071)",fontsize=16,color="black",shape="box"];7110 -> 7112[label="",style="solid", color="black", weight=3]; 7115[label="negate vuz30",fontsize=16,color="black",shape="triangle"];7115 -> 7122[label="",style="solid", color="black", weight=3]; 7112[label="reduce2 (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071)",fontsize=16,color="black",shape="box"];7112 -> 7114[label="",style="solid", color="black", weight=3]; 7122[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="box"];10823[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];7122 -> 10823[label="",style="solid", color="burlywood", weight=9]; 10823 -> 7127[label="",style="solid", color="burlywood", weight=3]; 10824[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];7122 -> 10824[label="",style="solid", color="burlywood", weight=9]; 10824 -> 7128[label="",style="solid", color="burlywood", weight=3]; 7114 -> 7116[label="",style="dashed", color="red", weight=0]; 7114[label="reduce2Reduce1 (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071) (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071) (vuz3061 * vuz3071 == fromInt (Pos Zero))",fontsize=16,color="magenta"];7114 -> 7117[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7118[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7119[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7120[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7121[label="",style="dashed", color="magenta", weight=3]; 7127[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];7127 -> 7133[label="",style="solid", color="black", weight=3]; 7128[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];7128 -> 7134[label="",style="solid", color="black", weight=3]; 7117[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];10825[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7117 -> 10825[label="",style="solid", color="blue", weight=9]; 10825 -> 7123[label="",style="solid", color="blue", weight=3]; 10826[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7117 -> 10826[label="",style="solid", color="blue", weight=9]; 10826 -> 7124[label="",style="solid", color="blue", weight=3]; 7118[label="vuz3060",fontsize=16,color="green",shape="box"];7119[label="vuz3071",fontsize=16,color="green",shape="box"];7120[label="vuz3061",fontsize=16,color="green",shape="box"];7121[label="vuz3070",fontsize=16,color="green",shape="box"];7116[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) vuz320",fontsize=16,color="burlywood",shape="triangle"];10827[label="vuz320/False",fontsize=10,color="white",style="solid",shape="box"];7116 -> 10827[label="",style="solid", color="burlywood", weight=9]; 10827 -> 7125[label="",style="solid", color="burlywood", weight=3]; 10828[label="vuz320/True",fontsize=10,color="white",style="solid",shape="box"];7116 -> 10828[label="",style="solid", color="burlywood", weight=9]; 10828 -> 7126[label="",style="solid", color="burlywood", weight=3]; 7133[label="Neg vuz300",fontsize=16,color="green",shape="box"];7134[label="Pos vuz300",fontsize=16,color="green",shape="box"];7123 -> 9987[label="",style="dashed", color="red", weight=0]; 7123[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7123 -> 9988[label="",style="dashed", color="magenta", weight=3]; 7124[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];7124 -> 7130[label="",style="solid", color="black", weight=3]; 7125[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) False",fontsize=16,color="black",shape="box"];7125 -> 7131[label="",style="solid", color="black", weight=3]; 7126[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) True",fontsize=16,color="black",shape="box"];7126 -> 7132[label="",style="solid", color="black", weight=3]; 9988[label="vuz3061 * vuz3071",fontsize=16,color="black",shape="triangle"];9988 -> 10015[label="",style="solid", color="black", weight=3]; 9987[label="vuz551 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];9987 -> 10016[label="",style="solid", color="black", weight=3]; 7130[label="error []",fontsize=16,color="red",shape="box"];7131[label="reduce2Reduce0 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) otherwise",fontsize=16,color="black",shape="box"];7131 -> 7136[label="",style="solid", color="black", weight=3]; 7132[label="error []",fontsize=16,color="black",shape="box"];7132 -> 7137[label="",style="solid", color="black", weight=3]; 10015[label="primMulInt vuz3061 vuz3071",fontsize=16,color="burlywood",shape="box"];10829[label="vuz3061/Pos vuz30610",fontsize=10,color="white",style="solid",shape="box"];10015 -> 10829[label="",style="solid", color="burlywood", weight=9]; 10829 -> 10168[label="",style="solid", color="burlywood", weight=3]; 10830[label="vuz3061/Neg vuz30610",fontsize=10,color="white",style="solid",shape="box"];10015 -> 10830[label="",style="solid", color="burlywood", weight=9]; 10830 -> 10169[label="",style="solid", color="burlywood", weight=3]; 10016[label="primEqInt vuz551 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10831[label="vuz551/Pos vuz5510",fontsize=10,color="white",style="solid",shape="box"];10016 -> 10831[label="",style="solid", color="burlywood", weight=9]; 10831 -> 10170[label="",style="solid", color="burlywood", weight=3]; 10832[label="vuz551/Neg vuz5510",fontsize=10,color="white",style="solid",shape="box"];10016 -> 10832[label="",style="solid", color="burlywood", weight=9]; 10832 -> 10171[label="",style="solid", color="burlywood", weight=3]; 7136[label="reduce2Reduce0 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) True",fontsize=16,color="black",shape="box"];7136 -> 7140[label="",style="solid", color="black", weight=3]; 7137[label="error []",fontsize=16,color="red",shape="box"];10168[label="primMulInt (Pos vuz30610) vuz3071",fontsize=16,color="burlywood",shape="box"];10833[label="vuz3071/Pos vuz30710",fontsize=10,color="white",style="solid",shape="box"];10168 -> 10833[label="",style="solid", color="burlywood", weight=9]; 10833 -> 10194[label="",style="solid", color="burlywood", weight=3]; 10834[label="vuz3071/Neg vuz30710",fontsize=10,color="white",style="solid",shape="box"];10168 -> 10834[label="",style="solid", color="burlywood", weight=9]; 10834 -> 10195[label="",style="solid", color="burlywood", weight=3]; 10169[label="primMulInt (Neg vuz30610) vuz3071",fontsize=16,color="burlywood",shape="box"];10835[label="vuz3071/Pos vuz30710",fontsize=10,color="white",style="solid",shape="box"];10169 -> 10835[label="",style="solid", color="burlywood", weight=9]; 10835 -> 10196[label="",style="solid", color="burlywood", weight=3]; 10836[label="vuz3071/Neg vuz30710",fontsize=10,color="white",style="solid",shape="box"];10169 -> 10836[label="",style="solid", color="burlywood", weight=9]; 10836 -> 10197[label="",style="solid", color="burlywood", weight=3]; 10170[label="primEqInt (Pos vuz5510) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10837[label="vuz5510/Succ vuz55100",fontsize=10,color="white",style="solid",shape="box"];10170 -> 10837[label="",style="solid", color="burlywood", weight=9]; 10837 -> 10198[label="",style="solid", color="burlywood", weight=3]; 10838[label="vuz5510/Zero",fontsize=10,color="white",style="solid",shape="box"];10170 -> 10838[label="",style="solid", color="burlywood", weight=9]; 10838 -> 10199[label="",style="solid", color="burlywood", weight=3]; 10171[label="primEqInt (Neg vuz5510) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10839[label="vuz5510/Succ vuz55100",fontsize=10,color="white",style="solid",shape="box"];10171 -> 10839[label="",style="solid", color="burlywood", weight=9]; 10839 -> 10200[label="",style="solid", color="burlywood", weight=3]; 10840[label="vuz5510/Zero",fontsize=10,color="white",style="solid",shape="box"];10171 -> 10840[label="",style="solid", color="burlywood", weight=9]; 10840 -> 10201[label="",style="solid", color="burlywood", weight=3]; 7140[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) :% (vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="green",shape="box"];7140 -> 7145[label="",style="dashed", color="green", weight=3]; 7140 -> 7146[label="",style="dashed", color="green", weight=3]; 10194[label="primMulInt (Pos vuz30610) (Pos vuz30710)",fontsize=16,color="black",shape="box"];10194 -> 10238[label="",style="solid", color="black", weight=3]; 10195[label="primMulInt (Pos vuz30610) (Neg vuz30710)",fontsize=16,color="black",shape="box"];10195 -> 10239[label="",style="solid", color="black", weight=3]; 10196[label="primMulInt (Neg vuz30610) (Pos vuz30710)",fontsize=16,color="black",shape="box"];10196 -> 10240[label="",style="solid", color="black", weight=3]; 10197[label="primMulInt (Neg vuz30610) (Neg vuz30710)",fontsize=16,color="black",shape="box"];10197 -> 10241[label="",style="solid", color="black", weight=3]; 10198[label="primEqInt (Pos (Succ vuz55100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10198 -> 10242[label="",style="solid", color="black", weight=3]; 10199[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10199 -> 10243[label="",style="solid", color="black", weight=3]; 10200[label="primEqInt (Neg (Succ vuz55100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10200 -> 10244[label="",style="solid", color="black", weight=3]; 10201[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10201 -> 10245[label="",style="solid", color="black", weight=3]; 7145[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="blue",shape="box"];10841[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7145 -> 10841[label="",style="solid", color="blue", weight=9]; 10841 -> 7151[label="",style="solid", color="blue", weight=3]; 10842[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7145 -> 10842[label="",style="solid", color="blue", weight=9]; 10842 -> 7152[label="",style="solid", color="blue", weight=3]; 7146[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="blue",shape="box"];10843[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7146 -> 10843[label="",style="solid", color="blue", weight=9]; 10843 -> 7153[label="",style="solid", color="blue", weight=3]; 10844[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7146 -> 10844[label="",style="solid", color="blue", weight=9]; 10844 -> 7154[label="",style="solid", color="blue", weight=3]; 10238[label="Pos (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10238 -> 10260[label="",style="dashed", color="green", weight=3]; 10239[label="Neg (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10239 -> 10261[label="",style="dashed", color="green", weight=3]; 10240[label="Neg (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10240 -> 10262[label="",style="dashed", color="green", weight=3]; 10241[label="Pos (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10241 -> 10263[label="",style="dashed", color="green", weight=3]; 10242 -> 7519[label="",style="dashed", color="red", weight=0]; 10242[label="primEqInt (Pos (Succ vuz55100)) (Pos Zero)",fontsize=16,color="magenta"];10242 -> 10264[label="",style="dashed", color="magenta", weight=3]; 10243 -> 7520[label="",style="dashed", color="red", weight=0]; 10243[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];10244 -> 7526[label="",style="dashed", color="red", weight=0]; 10244[label="primEqInt (Neg (Succ vuz55100)) (Pos Zero)",fontsize=16,color="magenta"];10244 -> 10265[label="",style="dashed", color="magenta", weight=3]; 10245 -> 7527[label="",style="dashed", color="red", weight=0]; 10245[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];7151[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7151 -> 7163[label="",style="solid", color="black", weight=3]; 7152[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7152 -> 7164[label="",style="solid", color="black", weight=3]; 7153[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7153 -> 7165[label="",style="solid", color="black", weight=3]; 7154[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7154 -> 7166[label="",style="solid", color="black", weight=3]; 10260 -> 7480[label="",style="dashed", color="red", weight=0]; 10260[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10261 -> 7480[label="",style="dashed", color="red", weight=0]; 10261[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10261 -> 10279[label="",style="dashed", color="magenta", weight=3]; 10262 -> 7480[label="",style="dashed", color="red", weight=0]; 10262[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10262 -> 10280[label="",style="dashed", color="magenta", weight=3]; 10263 -> 7480[label="",style="dashed", color="red", weight=0]; 10263[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10263 -> 10281[label="",style="dashed", color="magenta", weight=3]; 10263 -> 10282[label="",style="dashed", color="magenta", weight=3]; 10264[label="vuz55100",fontsize=16,color="green",shape="box"];7519[label="primEqInt (Pos (Succ vuz3250)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7519 -> 7532[label="",style="solid", color="black", weight=3]; 7520[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7520 -> 7533[label="",style="solid", color="black", weight=3]; 10265[label="vuz55100",fontsize=16,color="green",shape="box"];7526[label="primEqInt (Neg (Succ vuz3260)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7526 -> 7547[label="",style="solid", color="black", weight=3]; 7527[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7527 -> 7548[label="",style="solid", color="black", weight=3]; 7163[label="error []",fontsize=16,color="red",shape="box"];7164[label="primQuotInt (vuz316 * vuz317 + vuz318 * vuz319) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7164 -> 7175[label="",style="solid", color="black", weight=3]; 7165[label="error []",fontsize=16,color="red",shape="box"];7166[label="primQuotInt (vuz319 * vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7166 -> 7176[label="",style="solid", color="black", weight=3]; 7480[label="primMulNat vuz30610 vuz30710",fontsize=16,color="burlywood",shape="triangle"];10845[label="vuz30610/Succ vuz306100",fontsize=10,color="white",style="solid",shape="box"];7480 -> 10845[label="",style="solid", color="burlywood", weight=9]; 10845 -> 7492[label="",style="solid", color="burlywood", weight=3]; 10846[label="vuz30610/Zero",fontsize=10,color="white",style="solid",shape="box"];7480 -> 10846[label="",style="solid", color="burlywood", weight=9]; 10846 -> 7493[label="",style="solid", color="burlywood", weight=3]; 10279[label="vuz30710",fontsize=16,color="green",shape="box"];10280[label="vuz30610",fontsize=16,color="green",shape="box"];10281[label="vuz30610",fontsize=16,color="green",shape="box"];10282[label="vuz30710",fontsize=16,color="green",shape="box"];7532[label="False",fontsize=16,color="green",shape="box"];7533[label="True",fontsize=16,color="green",shape="box"];7547[label="False",fontsize=16,color="green",shape="box"];7548[label="True",fontsize=16,color="green",shape="box"];7175[label="primQuotInt (primPlusInt (vuz316 * vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (vuz316 * vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7175 -> 7185[label="",style="solid", color="black", weight=3]; 7176[label="primQuotInt (primMulInt vuz319 vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (primMulInt vuz319 vuz317))",fontsize=16,color="burlywood",shape="box"];10847[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7176 -> 10847[label="",style="solid", color="burlywood", weight=9]; 10847 -> 7186[label="",style="solid", color="burlywood", weight=3]; 10848[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7176 -> 10848[label="",style="solid", color="burlywood", weight=9]; 10848 -> 7187[label="",style="solid", color="burlywood", weight=3]; 7492[label="primMulNat (Succ vuz306100) vuz30710",fontsize=16,color="burlywood",shape="box"];10849[label="vuz30710/Succ vuz307100",fontsize=10,color="white",style="solid",shape="box"];7492 -> 10849[label="",style="solid", color="burlywood", weight=9]; 10849 -> 7515[label="",style="solid", color="burlywood", weight=3]; 10850[label="vuz30710/Zero",fontsize=10,color="white",style="solid",shape="box"];7492 -> 10850[label="",style="solid", color="burlywood", weight=9]; 10850 -> 7516[label="",style="solid", color="burlywood", weight=3]; 7493[label="primMulNat Zero vuz30710",fontsize=16,color="burlywood",shape="box"];10851[label="vuz30710/Succ vuz307100",fontsize=10,color="white",style="solid",shape="box"];7493 -> 10851[label="",style="solid", color="burlywood", weight=9]; 10851 -> 7517[label="",style="solid", color="burlywood", weight=3]; 10852[label="vuz30710/Zero",fontsize=10,color="white",style="solid",shape="box"];7493 -> 10852[label="",style="solid", color="burlywood", weight=9]; 10852 -> 7518[label="",style="solid", color="burlywood", weight=3]; 7185[label="primQuotInt (primPlusInt (primMulInt vuz316 vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt vuz316 vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10853[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7185 -> 10853[label="",style="solid", color="burlywood", weight=9]; 10853 -> 7194[label="",style="solid", color="burlywood", weight=3]; 10854[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7185 -> 10854[label="",style="solid", color="burlywood", weight=9]; 10854 -> 7195[label="",style="solid", color="burlywood", weight=3]; 7186[label="primQuotInt (primMulInt (Pos vuz3190) vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) vuz317))",fontsize=16,color="burlywood",shape="box"];10855[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7186 -> 10855[label="",style="solid", color="burlywood", weight=9]; 10855 -> 7196[label="",style="solid", color="burlywood", weight=3]; 10856[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7186 -> 10856[label="",style="solid", color="burlywood", weight=9]; 10856 -> 7197[label="",style="solid", color="burlywood", weight=3]; 7187[label="primQuotInt (primMulInt (Neg vuz3190) vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) vuz317))",fontsize=16,color="burlywood",shape="box"];10857[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7187 -> 10857[label="",style="solid", color="burlywood", weight=9]; 10857 -> 7198[label="",style="solid", color="burlywood", weight=3]; 10858[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7187 -> 10858[label="",style="solid", color="burlywood", weight=9]; 10858 -> 7199[label="",style="solid", color="burlywood", weight=3]; 7515[label="primMulNat (Succ vuz306100) (Succ vuz307100)",fontsize=16,color="black",shape="box"];7515 -> 7528[label="",style="solid", color="black", weight=3]; 7516[label="primMulNat (Succ vuz306100) Zero",fontsize=16,color="black",shape="box"];7516 -> 7529[label="",style="solid", color="black", weight=3]; 7517[label="primMulNat Zero (Succ vuz307100)",fontsize=16,color="black",shape="box"];7517 -> 7530[label="",style="solid", color="black", weight=3]; 7518[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];7518 -> 7531[label="",style="solid", color="black", weight=3]; 7194[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10859[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7194 -> 10859[label="",style="solid", color="burlywood", weight=9]; 10859 -> 7206[label="",style="solid", color="burlywood", weight=3]; 10860[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7194 -> 10860[label="",style="solid", color="burlywood", weight=9]; 10860 -> 7207[label="",style="solid", color="burlywood", weight=3]; 7195[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10861[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7195 -> 10861[label="",style="solid", color="burlywood", weight=9]; 10861 -> 7208[label="",style="solid", color="burlywood", weight=3]; 10862[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7195 -> 10862[label="",style="solid", color="burlywood", weight=9]; 10862 -> 7209[label="",style="solid", color="burlywood", weight=3]; 7196[label="primQuotInt (primMulInt (Pos vuz3190) (Pos vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) (Pos vuz3170)))",fontsize=16,color="black",shape="box"];7196 -> 7210[label="",style="solid", color="black", weight=3]; 7197[label="primQuotInt (primMulInt (Pos vuz3190) (Neg vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) (Neg vuz3170)))",fontsize=16,color="black",shape="box"];7197 -> 7211[label="",style="solid", color="black", weight=3]; 7198[label="primQuotInt (primMulInt (Neg vuz3190) (Pos vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) (Pos vuz3170)))",fontsize=16,color="black",shape="box"];7198 -> 7212[label="",style="solid", color="black", weight=3]; 7199[label="primQuotInt (primMulInt (Neg vuz3190) (Neg vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) (Neg vuz3170)))",fontsize=16,color="black",shape="box"];7199 -> 7213[label="",style="solid", color="black", weight=3]; 7528 -> 7549[label="",style="dashed", color="red", weight=0]; 7528[label="primPlusNat (primMulNat vuz306100 (Succ vuz307100)) (Succ vuz307100)",fontsize=16,color="magenta"];7528 -> 7550[label="",style="dashed", color="magenta", weight=3]; 7529[label="Zero",fontsize=16,color="green",shape="box"];7530[label="Zero",fontsize=16,color="green",shape="box"];7531[label="Zero",fontsize=16,color="green",shape="box"];7206[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7206 -> 7220[label="",style="solid", color="black", weight=3]; 7207[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7207 -> 7221[label="",style="solid", color="black", weight=3]; 7208[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7208 -> 7222[label="",style="solid", color="black", weight=3]; 7209[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7209 -> 7223[label="",style="solid", color="black", weight=3]; 7210[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7210 -> 7224[label="",style="solid", color="black", weight=3]; 7211[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7211 -> 7225[label="",style="solid", color="black", weight=3]; 7212[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7212 -> 7226[label="",style="solid", color="black", weight=3]; 7213[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7213 -> 7227[label="",style="solid", color="black", weight=3]; 7550 -> 7480[label="",style="dashed", color="red", weight=0]; 7550[label="primMulNat vuz306100 (Succ vuz307100)",fontsize=16,color="magenta"];7550 -> 7551[label="",style="dashed", color="magenta", weight=3]; 7550 -> 7552[label="",style="dashed", color="magenta", weight=3]; 7549[label="primPlusNat vuz335 (Succ vuz307100)",fontsize=16,color="burlywood",shape="triangle"];10863[label="vuz335/Succ vuz3350",fontsize=10,color="white",style="solid",shape="box"];7549 -> 10863[label="",style="solid", color="burlywood", weight=9]; 10863 -> 7553[label="",style="solid", color="burlywood", weight=3]; 10864[label="vuz335/Zero",fontsize=10,color="white",style="solid",shape="box"];7549 -> 10864[label="",style="solid", color="burlywood", weight=9]; 10864 -> 7554[label="",style="solid", color="burlywood", weight=3]; 7220[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7220 -> 7234[label="",style="solid", color="black", weight=3]; 7221[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7221 -> 7235[label="",style="solid", color="black", weight=3]; 7222[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7222 -> 7236[label="",style="solid", color="black", weight=3]; 7223[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7223 -> 7237[label="",style="solid", color="black", weight=3]; 7224[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7224 -> 7238[label="",style="solid", color="black", weight=3]; 7225[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7225 -> 7239[label="",style="solid", color="black", weight=3]; 7226[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7226 -> 7240[label="",style="solid", color="black", weight=3]; 7227[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7227 -> 7241[label="",style="solid", color="black", weight=3]; 7551[label="vuz306100",fontsize=16,color="green",shape="box"];7552[label="Succ vuz307100",fontsize=16,color="green",shape="box"];7553[label="primPlusNat (Succ vuz3350) (Succ vuz307100)",fontsize=16,color="black",shape="box"];7553 -> 7564[label="",style="solid", color="black", weight=3]; 7554[label="primPlusNat Zero (Succ vuz307100)",fontsize=16,color="black",shape="box"];7554 -> 7565[label="",style="solid", color="black", weight=3]; 7234[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10865[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7234 -> 10865[label="",style="solid", color="burlywood", weight=9]; 10865 -> 7250[label="",style="solid", color="burlywood", weight=3]; 10866[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7234 -> 10866[label="",style="solid", color="burlywood", weight=9]; 10866 -> 7251[label="",style="solid", color="burlywood", weight=3]; 7235[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10867[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7235 -> 10867[label="",style="solid", color="burlywood", weight=9]; 10867 -> 7252[label="",style="solid", color="burlywood", weight=3]; 10868[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7235 -> 10868[label="",style="solid", color="burlywood", weight=9]; 10868 -> 7253[label="",style="solid", color="burlywood", weight=3]; 7236[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10869[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7236 -> 10869[label="",style="solid", color="burlywood", weight=9]; 10869 -> 7254[label="",style="solid", color="burlywood", weight=3]; 10870[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7236 -> 10870[label="",style="solid", color="burlywood", weight=9]; 10870 -> 7255[label="",style="solid", color="burlywood", weight=3]; 7237[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10871[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7237 -> 10871[label="",style="solid", color="burlywood", weight=9]; 10871 -> 7256[label="",style="solid", color="burlywood", weight=3]; 10872[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7237 -> 10872[label="",style="solid", color="burlywood", weight=9]; 10872 -> 7257[label="",style="solid", color="burlywood", weight=3]; 7238[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7238 -> 7258[label="",style="solid", color="black", weight=3]; 7239[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7239 -> 7259[label="",style="solid", color="black", weight=3]; 7240[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7240 -> 7260[label="",style="solid", color="black", weight=3]; 7241[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7241 -> 7261[label="",style="solid", color="black", weight=3]; 7564[label="Succ (Succ (primPlusNat vuz3350 vuz307100))",fontsize=16,color="green",shape="box"];7564 -> 7571[label="",style="dashed", color="green", weight=3]; 7565[label="Succ vuz307100",fontsize=16,color="green",shape="box"];7250[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10873[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7250 -> 10873[label="",style="solid", color="burlywood", weight=9]; 10873 -> 7268[label="",style="solid", color="burlywood", weight=3]; 10874[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7250 -> 10874[label="",style="solid", color="burlywood", weight=9]; 10874 -> 7269[label="",style="solid", color="burlywood", weight=3]; 7251[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10875[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7251 -> 10875[label="",style="solid", color="burlywood", weight=9]; 10875 -> 7270[label="",style="solid", color="burlywood", weight=3]; 10876[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7251 -> 10876[label="",style="solid", color="burlywood", weight=9]; 10876 -> 7271[label="",style="solid", color="burlywood", weight=3]; 7252[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10877[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7252 -> 10877[label="",style="solid", color="burlywood", weight=9]; 10877 -> 7272[label="",style="solid", color="burlywood", weight=3]; 10878[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7252 -> 10878[label="",style="solid", color="burlywood", weight=9]; 10878 -> 7273[label="",style="solid", color="burlywood", weight=3]; 7253[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10879[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7253 -> 10879[label="",style="solid", color="burlywood", weight=9]; 10879 -> 7274[label="",style="solid", color="burlywood", weight=3]; 10880[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7253 -> 10880[label="",style="solid", color="burlywood", weight=9]; 10880 -> 7275[label="",style="solid", color="burlywood", weight=3]; 7254[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10881[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7254 -> 10881[label="",style="solid", color="burlywood", weight=9]; 10881 -> 7276[label="",style="solid", color="burlywood", weight=3]; 10882[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7254 -> 10882[label="",style="solid", color="burlywood", weight=9]; 10882 -> 7277[label="",style="solid", color="burlywood", weight=3]; 7255[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10883[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7255 -> 10883[label="",style="solid", color="burlywood", weight=9]; 10883 -> 7278[label="",style="solid", color="burlywood", weight=3]; 10884[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7255 -> 10884[label="",style="solid", color="burlywood", weight=9]; 10884 -> 7279[label="",style="solid", color="burlywood", weight=3]; 7256[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10885[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7256 -> 10885[label="",style="solid", color="burlywood", weight=9]; 10885 -> 7280[label="",style="solid", color="burlywood", weight=3]; 10886[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7256 -> 10886[label="",style="solid", color="burlywood", weight=9]; 10886 -> 7281[label="",style="solid", color="burlywood", weight=3]; 7257[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10887[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7257 -> 10887[label="",style="solid", color="burlywood", weight=9]; 10887 -> 7282[label="",style="solid", color="burlywood", weight=3]; 10888[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7257 -> 10888[label="",style="solid", color="burlywood", weight=9]; 10888 -> 7283[label="",style="solid", color="burlywood", weight=3]; 7258[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190 == fromInt (Pos Zero)) (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7258 -> 7284[label="",style="solid", color="black", weight=3]; 7259[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190 == fromInt (Pos Zero)) (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7259 -> 7285[label="",style="solid", color="black", weight=3]; 7260[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190 == fromInt (Pos Zero)) (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7260 -> 7286[label="",style="solid", color="black", weight=3]; 7261[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190 == fromInt (Pos Zero)) (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7261 -> 7287[label="",style="solid", color="black", weight=3]; 7571[label="primPlusNat vuz3350 vuz307100",fontsize=16,color="burlywood",shape="triangle"];10889[label="vuz3350/Succ vuz33500",fontsize=10,color="white",style="solid",shape="box"];7571 -> 10889[label="",style="solid", color="burlywood", weight=9]; 10889 -> 7585[label="",style="solid", color="burlywood", weight=3]; 10890[label="vuz3350/Zero",fontsize=10,color="white",style="solid",shape="box"];7571 -> 10890[label="",style="solid", color="burlywood", weight=9]; 10890 -> 7586[label="",style="solid", color="burlywood", weight=3]; 7268[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7268 -> 7296[label="",style="solid", color="black", weight=3]; 7269[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7269 -> 7297[label="",style="solid", color="black", weight=3]; 7270[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7270 -> 7298[label="",style="solid", color="black", weight=3]; 7271[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7271 -> 7299[label="",style="solid", color="black", weight=3]; 7272[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7272 -> 7300[label="",style="solid", color="black", weight=3]; 7273[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7273 -> 7301[label="",style="solid", color="black", weight=3]; 7274[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7274 -> 7302[label="",style="solid", color="black", weight=3]; 7275[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7275 -> 7303[label="",style="solid", color="black", weight=3]; 7276[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7276 -> 7304[label="",style="solid", color="black", weight=3]; 7277[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7277 -> 7305[label="",style="solid", color="black", weight=3]; 7278[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7278 -> 7306[label="",style="solid", color="black", weight=3]; 7279[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7279 -> 7307[label="",style="solid", color="black", weight=3]; 7280[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7280 -> 7308[label="",style="solid", color="black", weight=3]; 7281[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7281 -> 7309[label="",style="solid", color="black", weight=3]; 7282[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7282 -> 7310[label="",style="solid", color="black", weight=3]; 7283[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7283 -> 7311[label="",style="solid", color="black", weight=3]; 7284[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (fromInt (Pos Zero))) (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7284 -> 7312[label="",style="solid", color="black", weight=3]; 7285[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (fromInt (Pos Zero))) (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7285 -> 7313[label="",style="solid", color="black", weight=3]; 7286[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (fromInt (Pos Zero))) (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7286 -> 7314[label="",style="solid", color="black", weight=3]; 7287[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (fromInt (Pos Zero))) (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7287 -> 7315[label="",style="solid", color="black", weight=3]; 7585[label="primPlusNat (Succ vuz33500) vuz307100",fontsize=16,color="burlywood",shape="box"];10891[label="vuz307100/Succ vuz3071000",fontsize=10,color="white",style="solid",shape="box"];7585 -> 10891[label="",style="solid", color="burlywood", weight=9]; 10891 -> 7590[label="",style="solid", color="burlywood", weight=3]; 10892[label="vuz307100/Zero",fontsize=10,color="white",style="solid",shape="box"];7585 -> 10892[label="",style="solid", color="burlywood", weight=9]; 10892 -> 7591[label="",style="solid", color="burlywood", weight=3]; 7586[label="primPlusNat Zero vuz307100",fontsize=16,color="burlywood",shape="box"];10893[label="vuz307100/Succ vuz3071000",fontsize=10,color="white",style="solid",shape="box"];7586 -> 10893[label="",style="solid", color="burlywood", weight=9]; 10893 -> 7592[label="",style="solid", color="burlywood", weight=3]; 10894[label="vuz307100/Zero",fontsize=10,color="white",style="solid",shape="box"];7586 -> 10894[label="",style="solid", color="burlywood", weight=9]; 10894 -> 7593[label="",style="solid", color="burlywood", weight=3]; 7296[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7296 -> 7324[label="",style="solid", color="black", weight=3]; 7297[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7297 -> 7325[label="",style="solid", color="black", weight=3]; 7298[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7298 -> 7326[label="",style="solid", color="black", weight=3]; 7299[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7299 -> 7327[label="",style="solid", color="black", weight=3]; 7300[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7300 -> 7328[label="",style="solid", color="black", weight=3]; 7301[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7301 -> 7329[label="",style="solid", color="black", weight=3]; 7302[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7302 -> 7330[label="",style="solid", color="black", weight=3]; 7303[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7303 -> 7331[label="",style="solid", color="black", weight=3]; 7304[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7304 -> 7332[label="",style="solid", color="black", weight=3]; 7305[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7305 -> 7333[label="",style="solid", color="black", weight=3]; 7306[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7306 -> 7334[label="",style="solid", color="black", weight=3]; 7307[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7307 -> 7335[label="",style="solid", color="black", weight=3]; 7308[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7308 -> 7336[label="",style="solid", color="black", weight=3]; 7309[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7309 -> 7337[label="",style="solid", color="black", weight=3]; 7310[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7310 -> 7338[label="",style="solid", color="black", weight=3]; 7311[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7311 -> 7339[label="",style="solid", color="black", weight=3]; 7312[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7312 -> 7340[label="",style="solid", color="black", weight=3]; 7313[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7313 -> 7341[label="",style="solid", color="black", weight=3]; 7314[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7314 -> 7342[label="",style="solid", color="black", weight=3]; 7315[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7315 -> 7343[label="",style="solid", color="black", weight=3]; 7590[label="primPlusNat (Succ vuz33500) (Succ vuz3071000)",fontsize=16,color="black",shape="box"];7590 -> 7601[label="",style="solid", color="black", weight=3]; 7591[label="primPlusNat (Succ vuz33500) Zero",fontsize=16,color="black",shape="box"];7591 -> 7602[label="",style="solid", color="black", weight=3]; 7592[label="primPlusNat Zero (Succ vuz3071000)",fontsize=16,color="black",shape="box"];7592 -> 7603[label="",style="solid", color="black", weight=3]; 7593[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];7593 -> 7604[label="",style="solid", color="black", weight=3]; 7324[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7324 -> 7356[label="",style="solid", color="black", weight=3]; 7325[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10895[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7325 -> 10895[label="",style="solid", color="burlywood", weight=9]; 10895 -> 7357[label="",style="solid", color="burlywood", weight=3]; 10896[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7325 -> 10896[label="",style="solid", color="burlywood", weight=9]; 10896 -> 7358[label="",style="solid", color="burlywood", weight=3]; 7326[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10897[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7326 -> 10897[label="",style="solid", color="burlywood", weight=9]; 10897 -> 7359[label="",style="solid", color="burlywood", weight=3]; 10898[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7326 -> 10898[label="",style="solid", color="burlywood", weight=9]; 10898 -> 7360[label="",style="solid", color="burlywood", weight=3]; 7327[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7327 -> 7361[label="",style="solid", color="black", weight=3]; 7328[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10899[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7328 -> 10899[label="",style="solid", color="burlywood", weight=9]; 10899 -> 7362[label="",style="solid", color="burlywood", weight=3]; 10900[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7328 -> 10900[label="",style="solid", color="burlywood", weight=9]; 10900 -> 7363[label="",style="solid", color="burlywood", weight=3]; 7329[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7329 -> 7364[label="",style="solid", color="black", weight=3]; 7330[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7330 -> 7365[label="",style="solid", color="black", weight=3]; 7331[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10901[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7331 -> 10901[label="",style="solid", color="burlywood", weight=9]; 10901 -> 7366[label="",style="solid", color="burlywood", weight=3]; 10902[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7331 -> 10902[label="",style="solid", color="burlywood", weight=9]; 10902 -> 7367[label="",style="solid", color="burlywood", weight=3]; 7332[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10903[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7332 -> 10903[label="",style="solid", color="burlywood", weight=9]; 10903 -> 7368[label="",style="solid", color="burlywood", weight=3]; 10904[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7332 -> 10904[label="",style="solid", color="burlywood", weight=9]; 10904 -> 7369[label="",style="solid", color="burlywood", weight=3]; 7333[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7333 -> 7370[label="",style="solid", color="black", weight=3]; 7334[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7334 -> 7371[label="",style="solid", color="black", weight=3]; 7335[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10905[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7335 -> 10905[label="",style="solid", color="burlywood", weight=9]; 10905 -> 7372[label="",style="solid", color="burlywood", weight=3]; 10906[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7335 -> 10906[label="",style="solid", color="burlywood", weight=9]; 10906 -> 7373[label="",style="solid", color="burlywood", weight=3]; 7336[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7336 -> 7374[label="",style="solid", color="black", weight=3]; 7337[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10907[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7337 -> 10907[label="",style="solid", color="burlywood", weight=9]; 10907 -> 7375[label="",style="solid", color="burlywood", weight=3]; 10908[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7337 -> 10908[label="",style="solid", color="burlywood", weight=9]; 10908 -> 7376[label="",style="solid", color="burlywood", weight=3]; 7338[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10909[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7338 -> 10909[label="",style="solid", color="burlywood", weight=9]; 10909 -> 7377[label="",style="solid", color="burlywood", weight=3]; 10910[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7338 -> 10910[label="",style="solid", color="burlywood", weight=9]; 10910 -> 7378[label="",style="solid", color="burlywood", weight=3]; 7339[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7339 -> 7379[label="",style="solid", color="black", weight=3]; 7340[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10911[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7340 -> 10911[label="",style="solid", color="burlywood", weight=9]; 10911 -> 7380[label="",style="solid", color="burlywood", weight=3]; 10912[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7340 -> 10912[label="",style="solid", color="burlywood", weight=9]; 10912 -> 7381[label="",style="solid", color="burlywood", weight=3]; 7341[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10913[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7341 -> 10913[label="",style="solid", color="burlywood", weight=9]; 10913 -> 7382[label="",style="solid", color="burlywood", weight=3]; 10914[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7341 -> 10914[label="",style="solid", color="burlywood", weight=9]; 10914 -> 7383[label="",style="solid", color="burlywood", weight=3]; 7342[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10915[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7342 -> 10915[label="",style="solid", color="burlywood", weight=9]; 10915 -> 7384[label="",style="solid", color="burlywood", weight=3]; 10916[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7342 -> 10916[label="",style="solid", color="burlywood", weight=9]; 10916 -> 7385[label="",style="solid", color="burlywood", weight=3]; 7343[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10917[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7343 -> 10917[label="",style="solid", color="burlywood", weight=9]; 10917 -> 7386[label="",style="solid", color="burlywood", weight=3]; 10918[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7343 -> 10918[label="",style="solid", color="burlywood", weight=9]; 10918 -> 7387[label="",style="solid", color="burlywood", weight=3]; 7601[label="Succ (Succ (primPlusNat vuz33500 vuz3071000))",fontsize=16,color="green",shape="box"];7601 -> 7616[label="",style="dashed", color="green", weight=3]; 7602[label="Succ vuz33500",fontsize=16,color="green",shape="box"];7603[label="Succ vuz3071000",fontsize=16,color="green",shape="box"];7604[label="Zero",fontsize=16,color="green",shape="box"];7356[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7356 -> 7427[label="",style="solid", color="black", weight=3]; 7357[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10919[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7357 -> 10919[label="",style="solid", color="burlywood", weight=9]; 10919 -> 7428[label="",style="solid", color="burlywood", weight=3]; 10920[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7357 -> 10920[label="",style="solid", color="burlywood", weight=9]; 10920 -> 7429[label="",style="solid", color="burlywood", weight=3]; 7358[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10921[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7358 -> 10921[label="",style="solid", color="burlywood", weight=9]; 10921 -> 7430[label="",style="solid", color="burlywood", weight=3]; 10922[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7358 -> 10922[label="",style="solid", color="burlywood", weight=9]; 10922 -> 7431[label="",style="solid", color="burlywood", weight=3]; 7359[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10923[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7359 -> 10923[label="",style="solid", color="burlywood", weight=9]; 10923 -> 7432[label="",style="solid", color="burlywood", weight=3]; 10924[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7359 -> 10924[label="",style="solid", color="burlywood", weight=9]; 10924 -> 7433[label="",style="solid", color="burlywood", weight=3]; 7360[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10925[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7360 -> 10925[label="",style="solid", color="burlywood", weight=9]; 10925 -> 7434[label="",style="solid", color="burlywood", weight=3]; 10926[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7360 -> 10926[label="",style="solid", color="burlywood", weight=9]; 10926 -> 7435[label="",style="solid", color="burlywood", weight=3]; 7361[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7361 -> 7436[label="",style="solid", color="black", weight=3]; 7362[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10927[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7362 -> 10927[label="",style="solid", color="burlywood", weight=9]; 10927 -> 7437[label="",style="solid", color="burlywood", weight=3]; 10928[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7362 -> 10928[label="",style="solid", color="burlywood", weight=9]; 10928 -> 7438[label="",style="solid", color="burlywood", weight=3]; 7363[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10929[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7363 -> 10929[label="",style="solid", color="burlywood", weight=9]; 10929 -> 7439[label="",style="solid", color="burlywood", weight=3]; 10930[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7363 -> 10930[label="",style="solid", color="burlywood", weight=9]; 10930 -> 7440[label="",style="solid", color="burlywood", weight=3]; 7364[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7364 -> 7441[label="",style="solid", color="black", weight=3]; 7365[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7365 -> 7442[label="",style="solid", color="black", weight=3]; 7366[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10931[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7366 -> 10931[label="",style="solid", color="burlywood", weight=9]; 10931 -> 7443[label="",style="solid", color="burlywood", weight=3]; 10932[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7366 -> 10932[label="",style="solid", color="burlywood", weight=9]; 10932 -> 7444[label="",style="solid", color="burlywood", weight=3]; 7367[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10933[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7367 -> 10933[label="",style="solid", color="burlywood", weight=9]; 10933 -> 7445[label="",style="solid", color="burlywood", weight=3]; 10934[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7367 -> 10934[label="",style="solid", color="burlywood", weight=9]; 10934 -> 7446[label="",style="solid", color="burlywood", weight=3]; 7368[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10935[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7368 -> 10935[label="",style="solid", color="burlywood", weight=9]; 10935 -> 7447[label="",style="solid", color="burlywood", weight=3]; 10936[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7368 -> 10936[label="",style="solid", color="burlywood", weight=9]; 10936 -> 7448[label="",style="solid", color="burlywood", weight=3]; 7369[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10937[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7369 -> 10937[label="",style="solid", color="burlywood", weight=9]; 10937 -> 7449[label="",style="solid", color="burlywood", weight=3]; 10938[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7369 -> 10938[label="",style="solid", color="burlywood", weight=9]; 10938 -> 7450[label="",style="solid", color="burlywood", weight=3]; 7370[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7370 -> 7451[label="",style="solid", color="black", weight=3]; 7371[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7371 -> 7452[label="",style="solid", color="black", weight=3]; 7372[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10939[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7372 -> 10939[label="",style="solid", color="burlywood", weight=9]; 10939 -> 7453[label="",style="solid", color="burlywood", weight=3]; 10940[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7372 -> 10940[label="",style="solid", color="burlywood", weight=9]; 10940 -> 7454[label="",style="solid", color="burlywood", weight=3]; 7373[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10941[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7373 -> 10941[label="",style="solid", color="burlywood", weight=9]; 10941 -> 7455[label="",style="solid", color="burlywood", weight=3]; 10942[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7373 -> 10942[label="",style="solid", color="burlywood", weight=9]; 10942 -> 7456[label="",style="solid", color="burlywood", weight=3]; 7374[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7374 -> 7457[label="",style="solid", color="black", weight=3]; 7375[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10943[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7375 -> 10943[label="",style="solid", color="burlywood", weight=9]; 10943 -> 7458[label="",style="solid", color="burlywood", weight=3]; 10944[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7375 -> 10944[label="",style="solid", color="burlywood", weight=9]; 10944 -> 7459[label="",style="solid", color="burlywood", weight=3]; 7376[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10945[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7376 -> 10945[label="",style="solid", color="burlywood", weight=9]; 10945 -> 7460[label="",style="solid", color="burlywood", weight=3]; 10946[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7376 -> 10946[label="",style="solid", color="burlywood", weight=9]; 10946 -> 7461[label="",style="solid", color="burlywood", weight=3]; 7377[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10947[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7377 -> 10947[label="",style="solid", color="burlywood", weight=9]; 10947 -> 7462[label="",style="solid", color="burlywood", weight=3]; 10948[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7377 -> 10948[label="",style="solid", color="burlywood", weight=9]; 10948 -> 7463[label="",style="solid", color="burlywood", weight=3]; 7378[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10949[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7378 -> 10949[label="",style="solid", color="burlywood", weight=9]; 10949 -> 7464[label="",style="solid", color="burlywood", weight=3]; 10950[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7378 -> 10950[label="",style="solid", color="burlywood", weight=9]; 10950 -> 7465[label="",style="solid", color="burlywood", weight=3]; 7379[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7379 -> 7466[label="",style="solid", color="black", weight=3]; 7380[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7380 -> 7467[label="",style="solid", color="black", weight=3]; 7381[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7381 -> 7468[label="",style="solid", color="black", weight=3]; 7382[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7382 -> 7469[label="",style="solid", color="black", weight=3]; 7383[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7383 -> 7470[label="",style="solid", color="black", weight=3]; 7384[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7384 -> 7471[label="",style="solid", color="black", weight=3]; 7385[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7385 -> 7472[label="",style="solid", color="black", weight=3]; 7386[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7386 -> 7473[label="",style="solid", color="black", weight=3]; 7387[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7387 -> 7474[label="",style="solid", color="black", weight=3]; 7616 -> 7571[label="",style="dashed", color="red", weight=0]; 7616[label="primPlusNat vuz33500 vuz3071000",fontsize=16,color="magenta"];7616 -> 7622[label="",style="dashed", color="magenta", weight=3]; 7616 -> 7623[label="",style="dashed", color="magenta", weight=3]; 7427 -> 7667[label="",style="dashed", color="red", weight=0]; 7427[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7427 -> 7668[label="",style="dashed", color="magenta", weight=3]; 7427 -> 7669[label="",style="dashed", color="magenta", weight=3]; 7428[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7428 -> 7534[label="",style="solid", color="black", weight=3]; 7429[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7429 -> 7535[label="",style="solid", color="black", weight=3]; 7430[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7430 -> 7536[label="",style="solid", color="black", weight=3]; 7431[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7431 -> 7537[label="",style="solid", color="black", weight=3]; 7432[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7432 -> 7538[label="",style="solid", color="black", weight=3]; 7433[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7433 -> 7539[label="",style="solid", color="black", weight=3]; 7434[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7434 -> 7540[label="",style="solid", color="black", weight=3]; 7435[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7435 -> 7541[label="",style="solid", color="black", weight=3]; 7436 -> 7713[label="",style="dashed", color="red", weight=0]; 7436[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7436 -> 7714[label="",style="dashed", color="magenta", weight=3]; 7436 -> 7715[label="",style="dashed", color="magenta", weight=3]; 7437[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7437 -> 7555[label="",style="solid", color="black", weight=3]; 7438[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7438 -> 7556[label="",style="solid", color="black", weight=3]; 7439[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7439 -> 7557[label="",style="solid", color="black", weight=3]; 7440[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7440 -> 7558[label="",style="solid", color="black", weight=3]; 7441 -> 7745[label="",style="dashed", color="red", weight=0]; 7441[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7441 -> 7746[label="",style="dashed", color="magenta", weight=3]; 7441 -> 7747[label="",style="dashed", color="magenta", weight=3]; 7442 -> 7763[label="",style="dashed", color="red", weight=0]; 7442[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7442 -> 7764[label="",style="dashed", color="magenta", weight=3]; 7442 -> 7765[label="",style="dashed", color="magenta", weight=3]; 7443[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7443 -> 7572[label="",style="solid", color="black", weight=3]; 7444[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7444 -> 7573[label="",style="solid", color="black", weight=3]; 7445[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7445 -> 7574[label="",style="solid", color="black", weight=3]; 7446[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7446 -> 7575[label="",style="solid", color="black", weight=3]; 7447[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7447 -> 7576[label="",style="solid", color="black", weight=3]; 7448[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7448 -> 7577[label="",style="solid", color="black", weight=3]; 7449[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7449 -> 7578[label="",style="solid", color="black", weight=3]; 7450[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7450 -> 7579[label="",style="solid", color="black", weight=3]; 7451 -> 7809[label="",style="dashed", color="red", weight=0]; 7451[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7451 -> 7810[label="",style="dashed", color="magenta", weight=3]; 7451 -> 7811[label="",style="dashed", color="magenta", weight=3]; 7452 -> 7587[label="",style="dashed", color="red", weight=0]; 7452[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7452 -> 7588[label="",style="dashed", color="magenta", weight=3]; 7452 -> 7589[label="",style="dashed", color="magenta", weight=3]; 7453[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7453 -> 7594[label="",style="solid", color="black", weight=3]; 7454[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7454 -> 7595[label="",style="solid", color="black", weight=3]; 7455[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7455 -> 7596[label="",style="solid", color="black", weight=3]; 7456[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7456 -> 7597[label="",style="solid", color="black", weight=3]; 7457 -> 7598[label="",style="dashed", color="red", weight=0]; 7457[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7457 -> 7599[label="",style="dashed", color="magenta", weight=3]; 7457 -> 7600[label="",style="dashed", color="magenta", weight=3]; 7458[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7458 -> 7605[label="",style="solid", color="black", weight=3]; 7459[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7459 -> 7606[label="",style="solid", color="black", weight=3]; 7460[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7460 -> 7607[label="",style="solid", color="black", weight=3]; 7461[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7461 -> 7608[label="",style="solid", color="black", weight=3]; 7462[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7462 -> 7609[label="",style="solid", color="black", weight=3]; 7463[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7463 -> 7610[label="",style="solid", color="black", weight=3]; 7464[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7464 -> 7611[label="",style="solid", color="black", weight=3]; 7465[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7465 -> 7612[label="",style="solid", color="black", weight=3]; 7466 -> 7613[label="",style="dashed", color="red", weight=0]; 7466[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7466 -> 7614[label="",style="dashed", color="magenta", weight=3]; 7466 -> 7615[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7617[label="",style="dashed", color="red", weight=0]; 7467[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7467 -> 7618[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7619[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7620[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7621[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7624[label="",style="dashed", color="red", weight=0]; 7468[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7468 -> 7625[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7626[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7627[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7628[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7629[label="",style="dashed", color="red", weight=0]; 7469[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7469 -> 7630[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7631[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7632[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7633[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7634[label="",style="dashed", color="red", weight=0]; 7470[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7470 -> 7635[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7636[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7637[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7638[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7639[label="",style="dashed", color="red", weight=0]; 7471[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7471 -> 7640[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7641[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7642[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7643[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7644[label="",style="dashed", color="red", weight=0]; 7472[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7472 -> 7645[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7646[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7647[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7648[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7649[label="",style="dashed", color="red", weight=0]; 7473[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7473 -> 7650[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7651[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7652[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7653[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7654[label="",style="dashed", color="red", weight=0]; 7474[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7474 -> 7655[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7656[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7657[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7658[label="",style="dashed", color="magenta", weight=3]; 7622[label="vuz33500",fontsize=16,color="green",shape="box"];7623[label="vuz3071000",fontsize=16,color="green",shape="box"];7668 -> 7571[label="",style="dashed", color="red", weight=0]; 7668[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7668 -> 7672[label="",style="dashed", color="magenta", weight=3]; 7668 -> 7673[label="",style="dashed", color="magenta", weight=3]; 7669 -> 7571[label="",style="dashed", color="red", weight=0]; 7669[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7669 -> 7674[label="",style="dashed", color="magenta", weight=3]; 7669 -> 7675[label="",style="dashed", color="magenta", weight=3]; 7667[label="primQuotInt (Pos vuz398) (gcd3 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7667 -> 7676[label="",style="solid", color="black", weight=3]; 7534 -> 7677[label="",style="dashed", color="red", weight=0]; 7534[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7534 -> 7678[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7679[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7680[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7681[label="",style="dashed", color="magenta", weight=3]; 7535 -> 7686[label="",style="dashed", color="red", weight=0]; 7535[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7535 -> 7687[label="",style="dashed", color="magenta", weight=3]; 7535 -> 7688[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7677[label="",style="dashed", color="red", weight=0]; 7536[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7536 -> 7682[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7683[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7684[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7685[label="",style="dashed", color="magenta", weight=3]; 7537 -> 7686[label="",style="dashed", color="red", weight=0]; 7537[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7537 -> 7689[label="",style="dashed", color="magenta", weight=3]; 7537 -> 7690[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7691[label="",style="dashed", color="red", weight=0]; 7538[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7538 -> 7692[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7693[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7694[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7695[label="",style="dashed", color="magenta", weight=3]; 7539 -> 7700[label="",style="dashed", color="red", weight=0]; 7539[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7539 -> 7701[label="",style="dashed", color="magenta", weight=3]; 7539 -> 7702[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7691[label="",style="dashed", color="red", weight=0]; 7540[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7540 -> 7696[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7697[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7698[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7699[label="",style="dashed", color="magenta", weight=3]; 7541 -> 7700[label="",style="dashed", color="red", weight=0]; 7541[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7541 -> 7703[label="",style="dashed", color="magenta", weight=3]; 7541 -> 7704[label="",style="dashed", color="magenta", weight=3]; 7714 -> 7571[label="",style="dashed", color="red", weight=0]; 7714[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7714 -> 7718[label="",style="dashed", color="magenta", weight=3]; 7714 -> 7719[label="",style="dashed", color="magenta", weight=3]; 7715 -> 7571[label="",style="dashed", color="red", weight=0]; 7715[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7715 -> 7720[label="",style="dashed", color="magenta", weight=3]; 7715 -> 7721[label="",style="dashed", color="magenta", weight=3]; 7713[label="primQuotInt (Pos vuz416) (gcd3 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7713 -> 7722[label="",style="solid", color="black", weight=3]; 7555 -> 7723[label="",style="dashed", color="red", weight=0]; 7555[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7555 -> 7724[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7725[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7726[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7727[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7732[label="",style="dashed", color="red", weight=0]; 7556[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];7556 -> 7733[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7734[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7723[label="",style="dashed", color="red", weight=0]; 7557[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7557 -> 7728[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7729[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7730[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7731[label="",style="dashed", color="magenta", weight=3]; 7558 -> 7732[label="",style="dashed", color="red", weight=0]; 7558[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];7558 -> 7735[label="",style="dashed", color="magenta", weight=3]; 7558 -> 7736[label="",style="dashed", color="magenta", weight=3]; 7746 -> 7571[label="",style="dashed", color="red", weight=0]; 7746[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7746 -> 7750[label="",style="dashed", color="magenta", weight=3]; 7746 -> 7751[label="",style="dashed", color="magenta", weight=3]; 7747 -> 7571[label="",style="dashed", color="red", weight=0]; 7747[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7747 -> 7752[label="",style="dashed", color="magenta", weight=3]; 7747 -> 7753[label="",style="dashed", color="magenta", weight=3]; 7745[label="primQuotInt (Neg vuz426) (gcd3 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7745 -> 7754[label="",style="solid", color="black", weight=3]; 7764 -> 7571[label="",style="dashed", color="red", weight=0]; 7764[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7764 -> 7768[label="",style="dashed", color="magenta", weight=3]; 7764 -> 7769[label="",style="dashed", color="magenta", weight=3]; 7765 -> 7571[label="",style="dashed", color="red", weight=0]; 7765[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7765 -> 7770[label="",style="dashed", color="magenta", weight=3]; 7765 -> 7771[label="",style="dashed", color="magenta", weight=3]; 7763[label="primQuotInt (Neg vuz428) (gcd3 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7763 -> 7772[label="",style="solid", color="black", weight=3]; 7572 -> 7773[label="",style="dashed", color="red", weight=0]; 7572[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7572 -> 7774[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7775[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7776[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7777[label="",style="dashed", color="magenta", weight=3]; 7573 -> 7782[label="",style="dashed", color="red", weight=0]; 7573[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];7573 -> 7783[label="",style="dashed", color="magenta", weight=3]; 7573 -> 7784[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7773[label="",style="dashed", color="red", weight=0]; 7574[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7574 -> 7778[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7779[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7780[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7781[label="",style="dashed", color="magenta", weight=3]; 7575 -> 7782[label="",style="dashed", color="red", weight=0]; 7575[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];7575 -> 7785[label="",style="dashed", color="magenta", weight=3]; 7575 -> 7786[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7787[label="",style="dashed", color="red", weight=0]; 7576[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7576 -> 7788[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7789[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7790[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7791[label="",style="dashed", color="magenta", weight=3]; 7577 -> 7796[label="",style="dashed", color="red", weight=0]; 7577[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];7577 -> 7797[label="",style="dashed", color="magenta", weight=3]; 7577 -> 7798[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7787[label="",style="dashed", color="red", weight=0]; 7578[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7578 -> 7792[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7793[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7794[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7795[label="",style="dashed", color="magenta", weight=3]; 7579 -> 7796[label="",style="dashed", color="red", weight=0]; 7579[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];7579 -> 7799[label="",style="dashed", color="magenta", weight=3]; 7579 -> 7800[label="",style="dashed", color="magenta", weight=3]; 7810 -> 7571[label="",style="dashed", color="red", weight=0]; 7810[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7810 -> 7814[label="",style="dashed", color="magenta", weight=3]; 7810 -> 7815[label="",style="dashed", color="magenta", weight=3]; 7811 -> 7571[label="",style="dashed", color="red", weight=0]; 7811[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7811 -> 7816[label="",style="dashed", color="magenta", weight=3]; 7811 -> 7817[label="",style="dashed", color="magenta", weight=3]; 7809[label="primQuotInt (Neg vuz446) (gcd3 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7809 -> 7818[label="",style="solid", color="black", weight=3]; 7588 -> 7571[label="",style="dashed", color="red", weight=0]; 7588[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7588 -> 7819[label="",style="dashed", color="magenta", weight=3]; 7588 -> 7820[label="",style="dashed", color="magenta", weight=3]; 7589 -> 7571[label="",style="dashed", color="red", weight=0]; 7589[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7589 -> 7821[label="",style="dashed", color="magenta", weight=3]; 7589 -> 7822[label="",style="dashed", color="magenta", weight=3]; 7587[label="primQuotInt (Neg vuz348) (gcd3 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7587 -> 7823[label="",style="solid", color="black", weight=3]; 7594 -> 7824[label="",style="dashed", color="red", weight=0]; 7594[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7594 -> 7825[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7826[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7827[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7828[label="",style="dashed", color="magenta", weight=3]; 7595 -> 7833[label="",style="dashed", color="red", weight=0]; 7595[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];7595 -> 7834[label="",style="dashed", color="magenta", weight=3]; 7595 -> 7835[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7824[label="",style="dashed", color="red", weight=0]; 7596[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7596 -> 7829[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7830[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7831[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7832[label="",style="dashed", color="magenta", weight=3]; 7597 -> 7833[label="",style="dashed", color="red", weight=0]; 7597[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];7597 -> 7836[label="",style="dashed", color="magenta", weight=3]; 7597 -> 7837[label="",style="dashed", color="magenta", weight=3]; 7599 -> 7571[label="",style="dashed", color="red", weight=0]; 7599[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7599 -> 7838[label="",style="dashed", color="magenta", weight=3]; 7599 -> 7839[label="",style="dashed", color="magenta", weight=3]; 7600 -> 7571[label="",style="dashed", color="red", weight=0]; 7600[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7600 -> 7840[label="",style="dashed", color="magenta", weight=3]; 7600 -> 7841[label="",style="dashed", color="magenta", weight=3]; 7598[label="primQuotInt (Pos vuz354) (gcd3 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7598 -> 7842[label="",style="solid", color="black", weight=3]; 7605 -> 7843[label="",style="dashed", color="red", weight=0]; 7605[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7605 -> 7844[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7845[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7846[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7847[label="",style="dashed", color="magenta", weight=3]; 7606 -> 7852[label="",style="dashed", color="red", weight=0]; 7606[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7606 -> 7853[label="",style="dashed", color="magenta", weight=3]; 7606 -> 7854[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7843[label="",style="dashed", color="red", weight=0]; 7607[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7607 -> 7848[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7849[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7850[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7851[label="",style="dashed", color="magenta", weight=3]; 7608 -> 7852[label="",style="dashed", color="red", weight=0]; 7608[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7608 -> 7855[label="",style="dashed", color="magenta", weight=3]; 7608 -> 7856[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7857[label="",style="dashed", color="red", weight=0]; 7609[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7609 -> 7858[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7859[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7860[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7861[label="",style="dashed", color="magenta", weight=3]; 7610 -> 7866[label="",style="dashed", color="red", weight=0]; 7610[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7610 -> 7867[label="",style="dashed", color="magenta", weight=3]; 7610 -> 7868[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7857[label="",style="dashed", color="red", weight=0]; 7611[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7611 -> 7862[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7863[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7864[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7865[label="",style="dashed", color="magenta", weight=3]; 7612 -> 7866[label="",style="dashed", color="red", weight=0]; 7612[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7612 -> 7869[label="",style="dashed", color="magenta", weight=3]; 7612 -> 7870[label="",style="dashed", color="magenta", weight=3]; 7614 -> 7571[label="",style="dashed", color="red", weight=0]; 7614[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7614 -> 7871[label="",style="dashed", color="magenta", weight=3]; 7614 -> 7872[label="",style="dashed", color="magenta", weight=3]; 7615 -> 7571[label="",style="dashed", color="red", weight=0]; 7615[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7615 -> 7873[label="",style="dashed", color="magenta", weight=3]; 7615 -> 7874[label="",style="dashed", color="magenta", weight=3]; 7613[label="primQuotInt (Pos vuz360) (gcd3 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7613 -> 7875[label="",style="solid", color="black", weight=3]; 7618 -> 7480[label="",style="dashed", color="red", weight=0]; 7618[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7618 -> 7876[label="",style="dashed", color="magenta", weight=3]; 7618 -> 7877[label="",style="dashed", color="magenta", weight=3]; 7619 -> 7480[label="",style="dashed", color="red", weight=0]; 7619[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7619 -> 7878[label="",style="dashed", color="magenta", weight=3]; 7619 -> 7879[label="",style="dashed", color="magenta", weight=3]; 7620 -> 7480[label="",style="dashed", color="red", weight=0]; 7620[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7620 -> 7880[label="",style="dashed", color="magenta", weight=3]; 7620 -> 7881[label="",style="dashed", color="magenta", weight=3]; 7621 -> 7480[label="",style="dashed", color="red", weight=0]; 7621[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7621 -> 7882[label="",style="dashed", color="magenta", weight=3]; 7621 -> 7883[label="",style="dashed", color="magenta", weight=3]; 7617[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (vuz318 * Pos vuz3190)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];7617 -> 7884[label="",style="solid", color="black", weight=3]; 7625 -> 7480[label="",style="dashed", color="red", weight=0]; 7625[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7625 -> 7885[label="",style="dashed", color="magenta", weight=3]; 7625 -> 7886[label="",style="dashed", color="magenta", weight=3]; 7626 -> 7480[label="",style="dashed", color="red", weight=0]; 7626[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7626 -> 7887[label="",style="dashed", color="magenta", weight=3]; 7626 -> 7888[label="",style="dashed", color="magenta", weight=3]; 7627 -> 7480[label="",style="dashed", color="red", weight=0]; 7627[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7627 -> 7889[label="",style="dashed", color="magenta", weight=3]; 7627 -> 7890[label="",style="dashed", color="magenta", weight=3]; 7628 -> 7480[label="",style="dashed", color="red", weight=0]; 7628[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7628 -> 7891[label="",style="dashed", color="magenta", weight=3]; 7628 -> 7892[label="",style="dashed", color="magenta", weight=3]; 7624[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (vuz318 * Pos vuz3190)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];7624 -> 7893[label="",style="solid", color="black", weight=3]; 7630 -> 7480[label="",style="dashed", color="red", weight=0]; 7630[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7630 -> 7894[label="",style="dashed", color="magenta", weight=3]; 7630 -> 7895[label="",style="dashed", color="magenta", weight=3]; 7631 -> 7480[label="",style="dashed", color="red", weight=0]; 7631[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7631 -> 7896[label="",style="dashed", color="magenta", weight=3]; 7631 -> 7897[label="",style="dashed", color="magenta", weight=3]; 7632 -> 7480[label="",style="dashed", color="red", weight=0]; 7632[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7632 -> 7898[label="",style="dashed", color="magenta", weight=3]; 7632 -> 7899[label="",style="dashed", color="magenta", weight=3]; 7633 -> 7480[label="",style="dashed", color="red", weight=0]; 7633[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7633 -> 7900[label="",style="dashed", color="magenta", weight=3]; 7633 -> 7901[label="",style="dashed", color="magenta", weight=3]; 7629[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (vuz318 * Pos vuz3190)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];7629 -> 7902[label="",style="solid", color="black", weight=3]; 7635 -> 7480[label="",style="dashed", color="red", weight=0]; 7635[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7635 -> 7903[label="",style="dashed", color="magenta", weight=3]; 7635 -> 7904[label="",style="dashed", color="magenta", weight=3]; 7636 -> 7480[label="",style="dashed", color="red", weight=0]; 7636[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7636 -> 7905[label="",style="dashed", color="magenta", weight=3]; 7636 -> 7906[label="",style="dashed", color="magenta", weight=3]; 7637 -> 7480[label="",style="dashed", color="red", weight=0]; 7637[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7637 -> 7907[label="",style="dashed", color="magenta", weight=3]; 7637 -> 7908[label="",style="dashed", color="magenta", weight=3]; 7638 -> 7480[label="",style="dashed", color="red", weight=0]; 7638[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7638 -> 7909[label="",style="dashed", color="magenta", weight=3]; 7638 -> 7910[label="",style="dashed", color="magenta", weight=3]; 7634[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (vuz318 * Pos vuz3190)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];7634 -> 7911[label="",style="solid", color="black", weight=3]; 7640 -> 7480[label="",style="dashed", color="red", weight=0]; 7640[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7640 -> 7912[label="",style="dashed", color="magenta", weight=3]; 7640 -> 7913[label="",style="dashed", color="magenta", weight=3]; 7641 -> 7480[label="",style="dashed", color="red", weight=0]; 7641[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7641 -> 7914[label="",style="dashed", color="magenta", weight=3]; 7641 -> 7915[label="",style="dashed", color="magenta", weight=3]; 7642 -> 7480[label="",style="dashed", color="red", weight=0]; 7642[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7642 -> 7916[label="",style="dashed", color="magenta", weight=3]; 7642 -> 7917[label="",style="dashed", color="magenta", weight=3]; 7643 -> 7480[label="",style="dashed", color="red", weight=0]; 7643[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7643 -> 7918[label="",style="dashed", color="magenta", weight=3]; 7643 -> 7919[label="",style="dashed", color="magenta", weight=3]; 7639[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (vuz318 * Neg vuz3190)) (Neg vuz383))",fontsize=16,color="black",shape="triangle"];7639 -> 7920[label="",style="solid", color="black", weight=3]; 7645 -> 7480[label="",style="dashed", color="red", weight=0]; 7645[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7645 -> 7921[label="",style="dashed", color="magenta", weight=3]; 7645 -> 7922[label="",style="dashed", color="magenta", weight=3]; 7646 -> 7480[label="",style="dashed", color="red", weight=0]; 7646[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7646 -> 7923[label="",style="dashed", color="magenta", weight=3]; 7646 -> 7924[label="",style="dashed", color="magenta", weight=3]; 7647 -> 7480[label="",style="dashed", color="red", weight=0]; 7647[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7647 -> 7925[label="",style="dashed", color="magenta", weight=3]; 7647 -> 7926[label="",style="dashed", color="magenta", weight=3]; 7648 -> 7480[label="",style="dashed", color="red", weight=0]; 7648[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7648 -> 7927[label="",style="dashed", color="magenta", weight=3]; 7648 -> 7928[label="",style="dashed", color="magenta", weight=3]; 7644[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (vuz318 * Neg vuz3190)) (Neg vuz387))",fontsize=16,color="black",shape="triangle"];7644 -> 7929[label="",style="solid", color="black", weight=3]; 7650 -> 7480[label="",style="dashed", color="red", weight=0]; 7650[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7650 -> 7930[label="",style="dashed", color="magenta", weight=3]; 7650 -> 7931[label="",style="dashed", color="magenta", weight=3]; 7651 -> 7480[label="",style="dashed", color="red", weight=0]; 7651[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7651 -> 7932[label="",style="dashed", color="magenta", weight=3]; 7651 -> 7933[label="",style="dashed", color="magenta", weight=3]; 7652 -> 7480[label="",style="dashed", color="red", weight=0]; 7652[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7652 -> 7934[label="",style="dashed", color="magenta", weight=3]; 7652 -> 7935[label="",style="dashed", color="magenta", weight=3]; 7653 -> 7480[label="",style="dashed", color="red", weight=0]; 7653[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7653 -> 7936[label="",style="dashed", color="magenta", weight=3]; 7653 -> 7937[label="",style="dashed", color="magenta", weight=3]; 7649[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (vuz318 * Neg vuz3190)) (Pos vuz391))",fontsize=16,color="black",shape="triangle"];7649 -> 7938[label="",style="solid", color="black", weight=3]; 7655 -> 7480[label="",style="dashed", color="red", weight=0]; 7655[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7655 -> 7939[label="",style="dashed", color="magenta", weight=3]; 7655 -> 7940[label="",style="dashed", color="magenta", weight=3]; 7656 -> 7480[label="",style="dashed", color="red", weight=0]; 7656[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7656 -> 7941[label="",style="dashed", color="magenta", weight=3]; 7656 -> 7942[label="",style="dashed", color="magenta", weight=3]; 7657 -> 7480[label="",style="dashed", color="red", weight=0]; 7657[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7657 -> 7943[label="",style="dashed", color="magenta", weight=3]; 7657 -> 7944[label="",style="dashed", color="magenta", weight=3]; 7658 -> 7480[label="",style="dashed", color="red", weight=0]; 7658[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7658 -> 7945[label="",style="dashed", color="magenta", weight=3]; 7658 -> 7946[label="",style="dashed", color="magenta", weight=3]; 7654[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (vuz318 * Neg vuz3190)) (Pos vuz395))",fontsize=16,color="black",shape="triangle"];7654 -> 7947[label="",style="solid", color="black", weight=3]; 7672 -> 7480[label="",style="dashed", color="red", weight=0]; 7672[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7672 -> 7948[label="",style="dashed", color="magenta", weight=3]; 7672 -> 7949[label="",style="dashed", color="magenta", weight=3]; 7673 -> 7480[label="",style="dashed", color="red", weight=0]; 7673[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7673 -> 7950[label="",style="dashed", color="magenta", weight=3]; 7673 -> 7951[label="",style="dashed", color="magenta", weight=3]; 7674 -> 7480[label="",style="dashed", color="red", weight=0]; 7674[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7674 -> 7952[label="",style="dashed", color="magenta", weight=3]; 7674 -> 7953[label="",style="dashed", color="magenta", weight=3]; 7675 -> 7480[label="",style="dashed", color="red", weight=0]; 7675[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7675 -> 7954[label="",style="dashed", color="magenta", weight=3]; 7675 -> 7955[label="",style="dashed", color="magenta", weight=3]; 7676 -> 8228[label="",style="dashed", color="red", weight=0]; 7676[label="primQuotInt (Pos vuz398) (gcd2 (Pos vuz399 == fromInt (Pos Zero)) (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7676 -> 8229[label="",style="dashed", color="magenta", weight=3]; 7678 -> 7480[label="",style="dashed", color="red", weight=0]; 7678[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7678 -> 7957[label="",style="dashed", color="magenta", weight=3]; 7678 -> 7958[label="",style="dashed", color="magenta", weight=3]; 7679 -> 7571[label="",style="dashed", color="red", weight=0]; 7679[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7679 -> 7959[label="",style="dashed", color="magenta", weight=3]; 7679 -> 7960[label="",style="dashed", color="magenta", weight=3]; 7680 -> 7571[label="",style="dashed", color="red", weight=0]; 7680[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7680 -> 7961[label="",style="dashed", color="magenta", weight=3]; 7680 -> 7962[label="",style="dashed", color="magenta", weight=3]; 7681 -> 7480[label="",style="dashed", color="red", weight=0]; 7681[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7681 -> 7963[label="",style="dashed", color="magenta", weight=3]; 7681 -> 7964[label="",style="dashed", color="magenta", weight=3]; 7677[label="primQuotInt (primMinusNat vuz401 vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10951[label="vuz401/Succ vuz4010",fontsize=10,color="white",style="solid",shape="box"];7677 -> 10951[label="",style="solid", color="burlywood", weight=9]; 10951 -> 7965[label="",style="solid", color="burlywood", weight=3]; 10952[label="vuz401/Zero",fontsize=10,color="white",style="solid",shape="box"];7677 -> 10952[label="",style="solid", color="burlywood", weight=9]; 10952 -> 7966[label="",style="solid", color="burlywood", weight=3]; 7687 -> 7480[label="",style="dashed", color="red", weight=0]; 7687[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7687 -> 7967[label="",style="dashed", color="magenta", weight=3]; 7687 -> 7968[label="",style="dashed", color="magenta", weight=3]; 7688 -> 7480[label="",style="dashed", color="red", weight=0]; 7688[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7688 -> 7969[label="",style="dashed", color="magenta", weight=3]; 7688 -> 7970[label="",style="dashed", color="magenta", weight=3]; 7686[label="primQuotInt (primMinusNat Zero vuz406) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];10953[label="vuz406/Succ vuz4060",fontsize=10,color="white",style="solid",shape="box"];7686 -> 10953[label="",style="solid", color="burlywood", weight=9]; 10953 -> 7971[label="",style="solid", color="burlywood", weight=3]; 10954[label="vuz406/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 10954[label="",style="solid", color="burlywood", weight=9]; 10954 -> 7972[label="",style="solid", color="burlywood", weight=3]; 7682 -> 7480[label="",style="dashed", color="red", weight=0]; 7682[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7682 -> 7973[label="",style="dashed", color="magenta", weight=3]; 7682 -> 7974[label="",style="dashed", color="magenta", weight=3]; 7683[label="Zero",fontsize=16,color="green",shape="box"];7684[label="Zero",fontsize=16,color="green",shape="box"];7685 -> 7480[label="",style="dashed", color="red", weight=0]; 7685[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7685 -> 7975[label="",style="dashed", color="magenta", weight=3]; 7685 -> 7976[label="",style="dashed", color="magenta", weight=3]; 7689 -> 7480[label="",style="dashed", color="red", weight=0]; 7689[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7689 -> 7977[label="",style="dashed", color="magenta", weight=3]; 7689 -> 7978[label="",style="dashed", color="magenta", weight=3]; 7690 -> 7480[label="",style="dashed", color="red", weight=0]; 7690[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7690 -> 7979[label="",style="dashed", color="magenta", weight=3]; 7690 -> 7980[label="",style="dashed", color="magenta", weight=3]; 7692 -> 7571[label="",style="dashed", color="red", weight=0]; 7692[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7692 -> 7981[label="",style="dashed", color="magenta", weight=3]; 7692 -> 7982[label="",style="dashed", color="magenta", weight=3]; 7693 -> 7480[label="",style="dashed", color="red", weight=0]; 7693[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7693 -> 7983[label="",style="dashed", color="magenta", weight=3]; 7693 -> 7984[label="",style="dashed", color="magenta", weight=3]; 7694 -> 7571[label="",style="dashed", color="red", weight=0]; 7694[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7694 -> 7985[label="",style="dashed", color="magenta", weight=3]; 7694 -> 7986[label="",style="dashed", color="magenta", weight=3]; 7695 -> 7480[label="",style="dashed", color="red", weight=0]; 7695[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7695 -> 7987[label="",style="dashed", color="magenta", weight=3]; 7695 -> 7988[label="",style="dashed", color="magenta", weight=3]; 7691[label="primQuotInt (primMinusNat vuz409 vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10955[label="vuz409/Succ vuz4090",fontsize=10,color="white",style="solid",shape="box"];7691 -> 10955[label="",style="solid", color="burlywood", weight=9]; 10955 -> 7989[label="",style="solid", color="burlywood", weight=3]; 10956[label="vuz409/Zero",fontsize=10,color="white",style="solid",shape="box"];7691 -> 10956[label="",style="solid", color="burlywood", weight=9]; 10956 -> 7990[label="",style="solid", color="burlywood", weight=3]; 7701 -> 7480[label="",style="dashed", color="red", weight=0]; 7701[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7701 -> 7991[label="",style="dashed", color="magenta", weight=3]; 7701 -> 7992[label="",style="dashed", color="magenta", weight=3]; 7702 -> 7480[label="",style="dashed", color="red", weight=0]; 7702[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7702 -> 7993[label="",style="dashed", color="magenta", weight=3]; 7702 -> 7994[label="",style="dashed", color="magenta", weight=3]; 7700[label="primQuotInt (primMinusNat Zero vuz414) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];10957[label="vuz414/Succ vuz4140",fontsize=10,color="white",style="solid",shape="box"];7700 -> 10957[label="",style="solid", color="burlywood", weight=9]; 10957 -> 7995[label="",style="solid", color="burlywood", weight=3]; 10958[label="vuz414/Zero",fontsize=10,color="white",style="solid",shape="box"];7700 -> 10958[label="",style="solid", color="burlywood", weight=9]; 10958 -> 7996[label="",style="solid", color="burlywood", weight=3]; 7696[label="Zero",fontsize=16,color="green",shape="box"];7697 -> 7480[label="",style="dashed", color="red", weight=0]; 7697[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7697 -> 7997[label="",style="dashed", color="magenta", weight=3]; 7697 -> 7998[label="",style="dashed", color="magenta", weight=3]; 7698[label="Zero",fontsize=16,color="green",shape="box"];7699 -> 7480[label="",style="dashed", color="red", weight=0]; 7699[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7699 -> 7999[label="",style="dashed", color="magenta", weight=3]; 7699 -> 8000[label="",style="dashed", color="magenta", weight=3]; 7703 -> 7480[label="",style="dashed", color="red", weight=0]; 7703[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7703 -> 8001[label="",style="dashed", color="magenta", weight=3]; 7703 -> 8002[label="",style="dashed", color="magenta", weight=3]; 7704 -> 7480[label="",style="dashed", color="red", weight=0]; 7704[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7704 -> 8003[label="",style="dashed", color="magenta", weight=3]; 7704 -> 8004[label="",style="dashed", color="magenta", weight=3]; 7718 -> 7480[label="",style="dashed", color="red", weight=0]; 7718[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7718 -> 8005[label="",style="dashed", color="magenta", weight=3]; 7718 -> 8006[label="",style="dashed", color="magenta", weight=3]; 7719 -> 7480[label="",style="dashed", color="red", weight=0]; 7719[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7719 -> 8007[label="",style="dashed", color="magenta", weight=3]; 7719 -> 8008[label="",style="dashed", color="magenta", weight=3]; 7720 -> 7480[label="",style="dashed", color="red", weight=0]; 7720[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7720 -> 8009[label="",style="dashed", color="magenta", weight=3]; 7720 -> 8010[label="",style="dashed", color="magenta", weight=3]; 7721 -> 7480[label="",style="dashed", color="red", weight=0]; 7721[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7721 -> 8011[label="",style="dashed", color="magenta", weight=3]; 7721 -> 8012[label="",style="dashed", color="magenta", weight=3]; 7722 -> 8254[label="",style="dashed", color="red", weight=0]; 7722[label="primQuotInt (Pos vuz416) (gcd2 (Pos vuz417 == fromInt (Pos Zero)) (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7722 -> 8255[label="",style="dashed", color="magenta", weight=3]; 7724 -> 7480[label="",style="dashed", color="red", weight=0]; 7724[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7724 -> 8014[label="",style="dashed", color="magenta", weight=3]; 7724 -> 8015[label="",style="dashed", color="magenta", weight=3]; 7725 -> 7571[label="",style="dashed", color="red", weight=0]; 7725[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7725 -> 8016[label="",style="dashed", color="magenta", weight=3]; 7725 -> 8017[label="",style="dashed", color="magenta", weight=3]; 7726 -> 7480[label="",style="dashed", color="red", weight=0]; 7726[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7726 -> 8018[label="",style="dashed", color="magenta", weight=3]; 7726 -> 8019[label="",style="dashed", color="magenta", weight=3]; 7727 -> 7571[label="",style="dashed", color="red", weight=0]; 7727[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7727 -> 8020[label="",style="dashed", color="magenta", weight=3]; 7727 -> 8021[label="",style="dashed", color="magenta", weight=3]; 7723[label="primQuotInt (primMinusNat vuz419 vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10959[label="vuz419/Succ vuz4190",fontsize=10,color="white",style="solid",shape="box"];7723 -> 10959[label="",style="solid", color="burlywood", weight=9]; 10959 -> 8022[label="",style="solid", color="burlywood", weight=3]; 10960[label="vuz419/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 10960[label="",style="solid", color="burlywood", weight=9]; 10960 -> 8023[label="",style="solid", color="burlywood", weight=3]; 7733 -> 7480[label="",style="dashed", color="red", weight=0]; 7733[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7733 -> 8024[label="",style="dashed", color="magenta", weight=3]; 7733 -> 8025[label="",style="dashed", color="magenta", weight=3]; 7734 -> 7480[label="",style="dashed", color="red", weight=0]; 7734[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7734 -> 8026[label="",style="dashed", color="magenta", weight=3]; 7734 -> 8027[label="",style="dashed", color="magenta", weight=3]; 7732[label="primQuotInt (primMinusNat Zero vuz424) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10961[label="vuz424/Succ vuz4240",fontsize=10,color="white",style="solid",shape="box"];7732 -> 10961[label="",style="solid", color="burlywood", weight=9]; 10961 -> 8028[label="",style="solid", color="burlywood", weight=3]; 10962[label="vuz424/Zero",fontsize=10,color="white",style="solid",shape="box"];7732 -> 10962[label="",style="solid", color="burlywood", weight=9]; 10962 -> 8029[label="",style="solid", color="burlywood", weight=3]; 7728 -> 7480[label="",style="dashed", color="red", weight=0]; 7728[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7728 -> 8030[label="",style="dashed", color="magenta", weight=3]; 7728 -> 8031[label="",style="dashed", color="magenta", weight=3]; 7729[label="Zero",fontsize=16,color="green",shape="box"];7730 -> 7480[label="",style="dashed", color="red", weight=0]; 7730[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7730 -> 8032[label="",style="dashed", color="magenta", weight=3]; 7730 -> 8033[label="",style="dashed", color="magenta", weight=3]; 7731[label="Zero",fontsize=16,color="green",shape="box"];7735 -> 7480[label="",style="dashed", color="red", weight=0]; 7735[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7735 -> 8034[label="",style="dashed", color="magenta", weight=3]; 7735 -> 8035[label="",style="dashed", color="magenta", weight=3]; 7736 -> 7480[label="",style="dashed", color="red", weight=0]; 7736[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7736 -> 8036[label="",style="dashed", color="magenta", weight=3]; 7736 -> 8037[label="",style="dashed", color="magenta", weight=3]; 7750 -> 7480[label="",style="dashed", color="red", weight=0]; 7750[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7750 -> 8038[label="",style="dashed", color="magenta", weight=3]; 7750 -> 8039[label="",style="dashed", color="magenta", weight=3]; 7751 -> 7480[label="",style="dashed", color="red", weight=0]; 7751[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7751 -> 8040[label="",style="dashed", color="magenta", weight=3]; 7751 -> 8041[label="",style="dashed", color="magenta", weight=3]; 7752 -> 7480[label="",style="dashed", color="red", weight=0]; 7752[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7752 -> 8042[label="",style="dashed", color="magenta", weight=3]; 7752 -> 8043[label="",style="dashed", color="magenta", weight=3]; 7753 -> 7480[label="",style="dashed", color="red", weight=0]; 7753[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7753 -> 8044[label="",style="dashed", color="magenta", weight=3]; 7753 -> 8045[label="",style="dashed", color="magenta", weight=3]; 7754 -> 8270[label="",style="dashed", color="red", weight=0]; 7754[label="primQuotInt (Neg vuz426) (gcd2 (Neg vuz427 == fromInt (Pos Zero)) (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7754 -> 8271[label="",style="dashed", color="magenta", weight=3]; 7768 -> 7480[label="",style="dashed", color="red", weight=0]; 7768[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7768 -> 8047[label="",style="dashed", color="magenta", weight=3]; 7768 -> 8048[label="",style="dashed", color="magenta", weight=3]; 7769 -> 7480[label="",style="dashed", color="red", weight=0]; 7769[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7769 -> 8049[label="",style="dashed", color="magenta", weight=3]; 7769 -> 8050[label="",style="dashed", color="magenta", weight=3]; 7770 -> 7480[label="",style="dashed", color="red", weight=0]; 7770[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7770 -> 8051[label="",style="dashed", color="magenta", weight=3]; 7770 -> 8052[label="",style="dashed", color="magenta", weight=3]; 7771 -> 7480[label="",style="dashed", color="red", weight=0]; 7771[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7771 -> 8053[label="",style="dashed", color="magenta", weight=3]; 7771 -> 8054[label="",style="dashed", color="magenta", weight=3]; 7772 -> 8276[label="",style="dashed", color="red", weight=0]; 7772[label="primQuotInt (Neg vuz428) (gcd2 (Neg vuz429 == fromInt (Pos Zero)) (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7772 -> 8277[label="",style="dashed", color="magenta", weight=3]; 7774 -> 7571[label="",style="dashed", color="red", weight=0]; 7774[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7774 -> 8056[label="",style="dashed", color="magenta", weight=3]; 7774 -> 8057[label="",style="dashed", color="magenta", weight=3]; 7775 -> 7480[label="",style="dashed", color="red", weight=0]; 7775[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7775 -> 8058[label="",style="dashed", color="magenta", weight=3]; 7775 -> 8059[label="",style="dashed", color="magenta", weight=3]; 7776 -> 7480[label="",style="dashed", color="red", weight=0]; 7776[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7776 -> 8060[label="",style="dashed", color="magenta", weight=3]; 7776 -> 8061[label="",style="dashed", color="magenta", weight=3]; 7777 -> 7571[label="",style="dashed", color="red", weight=0]; 7777[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7777 -> 8062[label="",style="dashed", color="magenta", weight=3]; 7777 -> 8063[label="",style="dashed", color="magenta", weight=3]; 7773[label="primQuotInt (primMinusNat vuz431 vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10963[label="vuz431/Succ vuz4310",fontsize=10,color="white",style="solid",shape="box"];7773 -> 10963[label="",style="solid", color="burlywood", weight=9]; 10963 -> 8064[label="",style="solid", color="burlywood", weight=3]; 10964[label="vuz431/Zero",fontsize=10,color="white",style="solid",shape="box"];7773 -> 10964[label="",style="solid", color="burlywood", weight=9]; 10964 -> 8065[label="",style="solid", color="burlywood", weight=3]; 7783 -> 7480[label="",style="dashed", color="red", weight=0]; 7783[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7783 -> 8066[label="",style="dashed", color="magenta", weight=3]; 7783 -> 8067[label="",style="dashed", color="magenta", weight=3]; 7784 -> 7480[label="",style="dashed", color="red", weight=0]; 7784[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7784 -> 8068[label="",style="dashed", color="magenta", weight=3]; 7784 -> 8069[label="",style="dashed", color="magenta", weight=3]; 7782[label="primQuotInt (primMinusNat Zero vuz436) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10965[label="vuz436/Succ vuz4360",fontsize=10,color="white",style="solid",shape="box"];7782 -> 10965[label="",style="solid", color="burlywood", weight=9]; 10965 -> 8070[label="",style="solid", color="burlywood", weight=3]; 10966[label="vuz436/Zero",fontsize=10,color="white",style="solid",shape="box"];7782 -> 10966[label="",style="solid", color="burlywood", weight=9]; 10966 -> 8071[label="",style="solid", color="burlywood", weight=3]; 7778[label="Zero",fontsize=16,color="green",shape="box"];7779 -> 7480[label="",style="dashed", color="red", weight=0]; 7779[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7779 -> 8072[label="",style="dashed", color="magenta", weight=3]; 7779 -> 8073[label="",style="dashed", color="magenta", weight=3]; 7780 -> 7480[label="",style="dashed", color="red", weight=0]; 7780[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7780 -> 8074[label="",style="dashed", color="magenta", weight=3]; 7780 -> 8075[label="",style="dashed", color="magenta", weight=3]; 7781[label="Zero",fontsize=16,color="green",shape="box"];7785 -> 7480[label="",style="dashed", color="red", weight=0]; 7785[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7785 -> 8076[label="",style="dashed", color="magenta", weight=3]; 7785 -> 8077[label="",style="dashed", color="magenta", weight=3]; 7786 -> 7480[label="",style="dashed", color="red", weight=0]; 7786[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7786 -> 8078[label="",style="dashed", color="magenta", weight=3]; 7786 -> 8079[label="",style="dashed", color="magenta", weight=3]; 7788 -> 7571[label="",style="dashed", color="red", weight=0]; 7788[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7788 -> 8080[label="",style="dashed", color="magenta", weight=3]; 7788 -> 8081[label="",style="dashed", color="magenta", weight=3]; 7789 -> 7480[label="",style="dashed", color="red", weight=0]; 7789[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7789 -> 8082[label="",style="dashed", color="magenta", weight=3]; 7789 -> 8083[label="",style="dashed", color="magenta", weight=3]; 7790 -> 7480[label="",style="dashed", color="red", weight=0]; 7790[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7790 -> 8084[label="",style="dashed", color="magenta", weight=3]; 7790 -> 8085[label="",style="dashed", color="magenta", weight=3]; 7791 -> 7571[label="",style="dashed", color="red", weight=0]; 7791[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7791 -> 8086[label="",style="dashed", color="magenta", weight=3]; 7791 -> 8087[label="",style="dashed", color="magenta", weight=3]; 7787[label="primQuotInt (primMinusNat vuz439 vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10967[label="vuz439/Succ vuz4390",fontsize=10,color="white",style="solid",shape="box"];7787 -> 10967[label="",style="solid", color="burlywood", weight=9]; 10967 -> 8088[label="",style="solid", color="burlywood", weight=3]; 10968[label="vuz439/Zero",fontsize=10,color="white",style="solid",shape="box"];7787 -> 10968[label="",style="solid", color="burlywood", weight=9]; 10968 -> 8089[label="",style="solid", color="burlywood", weight=3]; 7797 -> 7480[label="",style="dashed", color="red", weight=0]; 7797[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7797 -> 8090[label="",style="dashed", color="magenta", weight=3]; 7797 -> 8091[label="",style="dashed", color="magenta", weight=3]; 7798 -> 7480[label="",style="dashed", color="red", weight=0]; 7798[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7798 -> 8092[label="",style="dashed", color="magenta", weight=3]; 7798 -> 8093[label="",style="dashed", color="magenta", weight=3]; 7796[label="primQuotInt (primMinusNat Zero vuz444) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10969[label="vuz444/Succ vuz4440",fontsize=10,color="white",style="solid",shape="box"];7796 -> 10969[label="",style="solid", color="burlywood", weight=9]; 10969 -> 8094[label="",style="solid", color="burlywood", weight=3]; 10970[label="vuz444/Zero",fontsize=10,color="white",style="solid",shape="box"];7796 -> 10970[label="",style="solid", color="burlywood", weight=9]; 10970 -> 8095[label="",style="solid", color="burlywood", weight=3]; 7792[label="Zero",fontsize=16,color="green",shape="box"];7793 -> 7480[label="",style="dashed", color="red", weight=0]; 7793[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7793 -> 8096[label="",style="dashed", color="magenta", weight=3]; 7793 -> 8097[label="",style="dashed", color="magenta", weight=3]; 7794 -> 7480[label="",style="dashed", color="red", weight=0]; 7794[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7794 -> 8098[label="",style="dashed", color="magenta", weight=3]; 7794 -> 8099[label="",style="dashed", color="magenta", weight=3]; 7795[label="Zero",fontsize=16,color="green",shape="box"];7799 -> 7480[label="",style="dashed", color="red", weight=0]; 7799[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7799 -> 8100[label="",style="dashed", color="magenta", weight=3]; 7799 -> 8101[label="",style="dashed", color="magenta", weight=3]; 7800 -> 7480[label="",style="dashed", color="red", weight=0]; 7800[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7800 -> 8102[label="",style="dashed", color="magenta", weight=3]; 7800 -> 8103[label="",style="dashed", color="magenta", weight=3]; 7814 -> 7480[label="",style="dashed", color="red", weight=0]; 7814[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7814 -> 8104[label="",style="dashed", color="magenta", weight=3]; 7814 -> 8105[label="",style="dashed", color="magenta", weight=3]; 7815 -> 7480[label="",style="dashed", color="red", weight=0]; 7815[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7815 -> 8106[label="",style="dashed", color="magenta", weight=3]; 7815 -> 8107[label="",style="dashed", color="magenta", weight=3]; 7816 -> 7480[label="",style="dashed", color="red", weight=0]; 7816[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7816 -> 8108[label="",style="dashed", color="magenta", weight=3]; 7816 -> 8109[label="",style="dashed", color="magenta", weight=3]; 7817 -> 7480[label="",style="dashed", color="red", weight=0]; 7817[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7817 -> 8110[label="",style="dashed", color="magenta", weight=3]; 7817 -> 8111[label="",style="dashed", color="magenta", weight=3]; 7818 -> 8302[label="",style="dashed", color="red", weight=0]; 7818[label="primQuotInt (Neg vuz446) (gcd2 (Neg vuz447 == fromInt (Pos Zero)) (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7818 -> 8303[label="",style="dashed", color="magenta", weight=3]; 7819 -> 7480[label="",style="dashed", color="red", weight=0]; 7819[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7819 -> 8113[label="",style="dashed", color="magenta", weight=3]; 7819 -> 8114[label="",style="dashed", color="magenta", weight=3]; 7820 -> 7480[label="",style="dashed", color="red", weight=0]; 7820[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7820 -> 8115[label="",style="dashed", color="magenta", weight=3]; 7820 -> 8116[label="",style="dashed", color="magenta", weight=3]; 7821 -> 7480[label="",style="dashed", color="red", weight=0]; 7821[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7821 -> 8117[label="",style="dashed", color="magenta", weight=3]; 7821 -> 8118[label="",style="dashed", color="magenta", weight=3]; 7822 -> 7480[label="",style="dashed", color="red", weight=0]; 7822[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7822 -> 8119[label="",style="dashed", color="magenta", weight=3]; 7822 -> 8120[label="",style="dashed", color="magenta", weight=3]; 7823 -> 8308[label="",style="dashed", color="red", weight=0]; 7823[label="primQuotInt (Neg vuz348) (gcd2 (Neg vuz349 == fromInt (Pos Zero)) (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7823 -> 8309[label="",style="dashed", color="magenta", weight=3]; 7825 -> 7571[label="",style="dashed", color="red", weight=0]; 7825[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7825 -> 8122[label="",style="dashed", color="magenta", weight=3]; 7825 -> 8123[label="",style="dashed", color="magenta", weight=3]; 7826 -> 7571[label="",style="dashed", color="red", weight=0]; 7826[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7826 -> 8124[label="",style="dashed", color="magenta", weight=3]; 7826 -> 8125[label="",style="dashed", color="magenta", weight=3]; 7827 -> 7480[label="",style="dashed", color="red", weight=0]; 7827[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7827 -> 8126[label="",style="dashed", color="magenta", weight=3]; 7827 -> 8127[label="",style="dashed", color="magenta", weight=3]; 7828 -> 7480[label="",style="dashed", color="red", weight=0]; 7828[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7828 -> 8128[label="",style="dashed", color="magenta", weight=3]; 7828 -> 8129[label="",style="dashed", color="magenta", weight=3]; 7824[label="primQuotInt (primMinusNat vuz449 vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10971[label="vuz449/Succ vuz4490",fontsize=10,color="white",style="solid",shape="box"];7824 -> 10971[label="",style="solid", color="burlywood", weight=9]; 10971 -> 8130[label="",style="solid", color="burlywood", weight=3]; 10972[label="vuz449/Zero",fontsize=10,color="white",style="solid",shape="box"];7824 -> 10972[label="",style="solid", color="burlywood", weight=9]; 10972 -> 8131[label="",style="solid", color="burlywood", weight=3]; 7834 -> 7480[label="",style="dashed", color="red", weight=0]; 7834[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7834 -> 8132[label="",style="dashed", color="magenta", weight=3]; 7834 -> 8133[label="",style="dashed", color="magenta", weight=3]; 7835 -> 7480[label="",style="dashed", color="red", weight=0]; 7835[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7835 -> 8134[label="",style="dashed", color="magenta", weight=3]; 7835 -> 8135[label="",style="dashed", color="magenta", weight=3]; 7833[label="primQuotInt (primMinusNat Zero vuz454) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10973[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7833 -> 10973[label="",style="solid", color="burlywood", weight=9]; 10973 -> 8136[label="",style="solid", color="burlywood", weight=3]; 10974[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7833 -> 10974[label="",style="solid", color="burlywood", weight=9]; 10974 -> 8137[label="",style="solid", color="burlywood", weight=3]; 7829[label="Zero",fontsize=16,color="green",shape="box"];7830[label="Zero",fontsize=16,color="green",shape="box"];7831 -> 7480[label="",style="dashed", color="red", weight=0]; 7831[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7831 -> 8138[label="",style="dashed", color="magenta", weight=3]; 7831 -> 8139[label="",style="dashed", color="magenta", weight=3]; 7832 -> 7480[label="",style="dashed", color="red", weight=0]; 7832[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7832 -> 8140[label="",style="dashed", color="magenta", weight=3]; 7832 -> 8141[label="",style="dashed", color="magenta", weight=3]; 7836 -> 7480[label="",style="dashed", color="red", weight=0]; 7836[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7836 -> 8142[label="",style="dashed", color="magenta", weight=3]; 7836 -> 8143[label="",style="dashed", color="magenta", weight=3]; 7837 -> 7480[label="",style="dashed", color="red", weight=0]; 7837[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7837 -> 8144[label="",style="dashed", color="magenta", weight=3]; 7837 -> 8145[label="",style="dashed", color="magenta", weight=3]; 7838 -> 7480[label="",style="dashed", color="red", weight=0]; 7838[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7838 -> 8146[label="",style="dashed", color="magenta", weight=3]; 7838 -> 8147[label="",style="dashed", color="magenta", weight=3]; 7839 -> 7480[label="",style="dashed", color="red", weight=0]; 7839[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7839 -> 8148[label="",style="dashed", color="magenta", weight=3]; 7839 -> 8149[label="",style="dashed", color="magenta", weight=3]; 7840 -> 7480[label="",style="dashed", color="red", weight=0]; 7840[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7840 -> 8150[label="",style="dashed", color="magenta", weight=3]; 7840 -> 8151[label="",style="dashed", color="magenta", weight=3]; 7841 -> 7480[label="",style="dashed", color="red", weight=0]; 7841[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7841 -> 8152[label="",style="dashed", color="magenta", weight=3]; 7841 -> 8153[label="",style="dashed", color="magenta", weight=3]; 7842 -> 8324[label="",style="dashed", color="red", weight=0]; 7842[label="primQuotInt (Pos vuz354) (gcd2 (Pos vuz355 == fromInt (Pos Zero)) (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7842 -> 8325[label="",style="dashed", color="magenta", weight=3]; 7844 -> 7571[label="",style="dashed", color="red", weight=0]; 7844[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7844 -> 8155[label="",style="dashed", color="magenta", weight=3]; 7844 -> 8156[label="",style="dashed", color="magenta", weight=3]; 7845 -> 7480[label="",style="dashed", color="red", weight=0]; 7845[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7845 -> 8157[label="",style="dashed", color="magenta", weight=3]; 7845 -> 8158[label="",style="dashed", color="magenta", weight=3]; 7846 -> 7480[label="",style="dashed", color="red", weight=0]; 7846[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7846 -> 8159[label="",style="dashed", color="magenta", weight=3]; 7846 -> 8160[label="",style="dashed", color="magenta", weight=3]; 7847 -> 7571[label="",style="dashed", color="red", weight=0]; 7847[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7847 -> 8161[label="",style="dashed", color="magenta", weight=3]; 7847 -> 8162[label="",style="dashed", color="magenta", weight=3]; 7843[label="primQuotInt (primMinusNat vuz457 vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10975[label="vuz457/Succ vuz4570",fontsize=10,color="white",style="solid",shape="box"];7843 -> 10975[label="",style="solid", color="burlywood", weight=9]; 10975 -> 8163[label="",style="solid", color="burlywood", weight=3]; 10976[label="vuz457/Zero",fontsize=10,color="white",style="solid",shape="box"];7843 -> 10976[label="",style="solid", color="burlywood", weight=9]; 10976 -> 8164[label="",style="solid", color="burlywood", weight=3]; 7853 -> 7480[label="",style="dashed", color="red", weight=0]; 7853[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7853 -> 8165[label="",style="dashed", color="magenta", weight=3]; 7853 -> 8166[label="",style="dashed", color="magenta", weight=3]; 7854 -> 7480[label="",style="dashed", color="red", weight=0]; 7854[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7854 -> 8167[label="",style="dashed", color="magenta", weight=3]; 7854 -> 8168[label="",style="dashed", color="magenta", weight=3]; 7852[label="primQuotInt (primMinusNat Zero vuz462) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];10977[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7852 -> 10977[label="",style="solid", color="burlywood", weight=9]; 10977 -> 8169[label="",style="solid", color="burlywood", weight=3]; 10978[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7852 -> 10978[label="",style="solid", color="burlywood", weight=9]; 10978 -> 8170[label="",style="solid", color="burlywood", weight=3]; 7848[label="Zero",fontsize=16,color="green",shape="box"];7849 -> 7480[label="",style="dashed", color="red", weight=0]; 7849[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7849 -> 8171[label="",style="dashed", color="magenta", weight=3]; 7849 -> 8172[label="",style="dashed", color="magenta", weight=3]; 7850 -> 7480[label="",style="dashed", color="red", weight=0]; 7850[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7850 -> 8173[label="",style="dashed", color="magenta", weight=3]; 7850 -> 8174[label="",style="dashed", color="magenta", weight=3]; 7851[label="Zero",fontsize=16,color="green",shape="box"];7855 -> 7480[label="",style="dashed", color="red", weight=0]; 7855[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7855 -> 8175[label="",style="dashed", color="magenta", weight=3]; 7855 -> 8176[label="",style="dashed", color="magenta", weight=3]; 7856 -> 7480[label="",style="dashed", color="red", weight=0]; 7856[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7856 -> 8177[label="",style="dashed", color="magenta", weight=3]; 7856 -> 8178[label="",style="dashed", color="magenta", weight=3]; 7858 -> 7571[label="",style="dashed", color="red", weight=0]; 7858[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7858 -> 8179[label="",style="dashed", color="magenta", weight=3]; 7858 -> 8180[label="",style="dashed", color="magenta", weight=3]; 7859 -> 7480[label="",style="dashed", color="red", weight=0]; 7859[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7859 -> 8181[label="",style="dashed", color="magenta", weight=3]; 7859 -> 8182[label="",style="dashed", color="magenta", weight=3]; 7860 -> 7480[label="",style="dashed", color="red", weight=0]; 7860[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7860 -> 8183[label="",style="dashed", color="magenta", weight=3]; 7860 -> 8184[label="",style="dashed", color="magenta", weight=3]; 7861 -> 7571[label="",style="dashed", color="red", weight=0]; 7861[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7861 -> 8185[label="",style="dashed", color="magenta", weight=3]; 7861 -> 8186[label="",style="dashed", color="magenta", weight=3]; 7857[label="primQuotInt (primMinusNat vuz465 vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10979[label="vuz465/Succ vuz4650",fontsize=10,color="white",style="solid",shape="box"];7857 -> 10979[label="",style="solid", color="burlywood", weight=9]; 10979 -> 8187[label="",style="solid", color="burlywood", weight=3]; 10980[label="vuz465/Zero",fontsize=10,color="white",style="solid",shape="box"];7857 -> 10980[label="",style="solid", color="burlywood", weight=9]; 10980 -> 8188[label="",style="solid", color="burlywood", weight=3]; 7867 -> 7480[label="",style="dashed", color="red", weight=0]; 7867[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7867 -> 8189[label="",style="dashed", color="magenta", weight=3]; 7867 -> 8190[label="",style="dashed", color="magenta", weight=3]; 7868 -> 7480[label="",style="dashed", color="red", weight=0]; 7868[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7868 -> 8191[label="",style="dashed", color="magenta", weight=3]; 7868 -> 8192[label="",style="dashed", color="magenta", weight=3]; 7866[label="primQuotInt (primMinusNat Zero vuz470) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];10981[label="vuz470/Succ vuz4700",fontsize=10,color="white",style="solid",shape="box"];7866 -> 10981[label="",style="solid", color="burlywood", weight=9]; 10981 -> 8193[label="",style="solid", color="burlywood", weight=3]; 10982[label="vuz470/Zero",fontsize=10,color="white",style="solid",shape="box"];7866 -> 10982[label="",style="solid", color="burlywood", weight=9]; 10982 -> 8194[label="",style="solid", color="burlywood", weight=3]; 7862[label="Zero",fontsize=16,color="green",shape="box"];7863 -> 7480[label="",style="dashed", color="red", weight=0]; 7863[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7863 -> 8195[label="",style="dashed", color="magenta", weight=3]; 7863 -> 8196[label="",style="dashed", color="magenta", weight=3]; 7864 -> 7480[label="",style="dashed", color="red", weight=0]; 7864[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7864 -> 8197[label="",style="dashed", color="magenta", weight=3]; 7864 -> 8198[label="",style="dashed", color="magenta", weight=3]; 7865[label="Zero",fontsize=16,color="green",shape="box"];7869 -> 7480[label="",style="dashed", color="red", weight=0]; 7869[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7869 -> 8199[label="",style="dashed", color="magenta", weight=3]; 7869 -> 8200[label="",style="dashed", color="magenta", weight=3]; 7870 -> 7480[label="",style="dashed", color="red", weight=0]; 7870[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7870 -> 8201[label="",style="dashed", color="magenta", weight=3]; 7870 -> 8202[label="",style="dashed", color="magenta", weight=3]; 7871 -> 7480[label="",style="dashed", color="red", weight=0]; 7871[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7871 -> 8203[label="",style="dashed", color="magenta", weight=3]; 7871 -> 8204[label="",style="dashed", color="magenta", weight=3]; 7872 -> 7480[label="",style="dashed", color="red", weight=0]; 7872[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7872 -> 8205[label="",style="dashed", color="magenta", weight=3]; 7872 -> 8206[label="",style="dashed", color="magenta", weight=3]; 7873 -> 7480[label="",style="dashed", color="red", weight=0]; 7873[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7873 -> 8207[label="",style="dashed", color="magenta", weight=3]; 7873 -> 8208[label="",style="dashed", color="magenta", weight=3]; 7874 -> 7480[label="",style="dashed", color="red", weight=0]; 7874[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7874 -> 8209[label="",style="dashed", color="magenta", weight=3]; 7874 -> 8210[label="",style="dashed", color="magenta", weight=3]; 7875 -> 8350[label="",style="dashed", color="red", weight=0]; 7875[label="primQuotInt (Pos vuz360) (gcd2 (Pos vuz361 == fromInt (Pos Zero)) (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7875 -> 8351[label="",style="dashed", color="magenta", weight=3]; 7876[label="vuz3190",fontsize=16,color="green",shape="box"];7877[label="vuz3170",fontsize=16,color="green",shape="box"];7878[label="vuz3160",fontsize=16,color="green",shape="box"];7879[label="vuz3170",fontsize=16,color="green",shape="box"];7880[label="vuz3160",fontsize=16,color="green",shape="box"];7881[label="vuz3170",fontsize=16,color="green",shape="box"];7882[label="vuz3190",fontsize=16,color="green",shape="box"];7883[label="vuz3170",fontsize=16,color="green",shape="box"];7884[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt vuz318 (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];10983[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7884 -> 10983[label="",style="solid", color="burlywood", weight=9]; 10983 -> 8212[label="",style="solid", color="burlywood", weight=3]; 10984[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7884 -> 10984[label="",style="solid", color="burlywood", weight=9]; 10984 -> 8213[label="",style="solid", color="burlywood", weight=3]; 7885[label="vuz3160",fontsize=16,color="green",shape="box"];7886[label="vuz3170",fontsize=16,color="green",shape="box"];7887[label="vuz3160",fontsize=16,color="green",shape="box"];7888[label="vuz3170",fontsize=16,color="green",shape="box"];7889[label="vuz3190",fontsize=16,color="green",shape="box"];7890[label="vuz3170",fontsize=16,color="green",shape="box"];7891[label="vuz3190",fontsize=16,color="green",shape="box"];7892[label="vuz3170",fontsize=16,color="green",shape="box"];7893[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt vuz318 (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="burlywood",shape="box"];10985[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7893 -> 10985[label="",style="solid", color="burlywood", weight=9]; 10985 -> 8214[label="",style="solid", color="burlywood", weight=3]; 10986[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7893 -> 10986[label="",style="solid", color="burlywood", weight=9]; 10986 -> 8215[label="",style="solid", color="burlywood", weight=3]; 7894[label="vuz3190",fontsize=16,color="green",shape="box"];7895[label="vuz3170",fontsize=16,color="green",shape="box"];7896[label="vuz3160",fontsize=16,color="green",shape="box"];7897[label="vuz3170",fontsize=16,color="green",shape="box"];7898[label="vuz3190",fontsize=16,color="green",shape="box"];7899[label="vuz3170",fontsize=16,color="green",shape="box"];7900[label="vuz3160",fontsize=16,color="green",shape="box"];7901[label="vuz3170",fontsize=16,color="green",shape="box"];7902[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt vuz318 (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];10987[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7902 -> 10987[label="",style="solid", color="burlywood", weight=9]; 10987 -> 8216[label="",style="solid", color="burlywood", weight=3]; 10988[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7902 -> 10988[label="",style="solid", color="burlywood", weight=9]; 10988 -> 8217[label="",style="solid", color="burlywood", weight=3]; 7903[label="vuz3190",fontsize=16,color="green",shape="box"];7904[label="vuz3170",fontsize=16,color="green",shape="box"];7905[label="vuz3160",fontsize=16,color="green",shape="box"];7906[label="vuz3170",fontsize=16,color="green",shape="box"];7907[label="vuz3160",fontsize=16,color="green",shape="box"];7908[label="vuz3170",fontsize=16,color="green",shape="box"];7909[label="vuz3190",fontsize=16,color="green",shape="box"];7910[label="vuz3170",fontsize=16,color="green",shape="box"];7911[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt vuz318 (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="burlywood",shape="box"];10989[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7911 -> 10989[label="",style="solid", color="burlywood", weight=9]; 10989 -> 8218[label="",style="solid", color="burlywood", weight=3]; 10990[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7911 -> 10990[label="",style="solid", color="burlywood", weight=9]; 10990 -> 8219[label="",style="solid", color="burlywood", weight=3]; 7912[label="vuz3190",fontsize=16,color="green",shape="box"];7913[label="vuz3170",fontsize=16,color="green",shape="box"];7914[label="vuz3190",fontsize=16,color="green",shape="box"];7915[label="vuz3170",fontsize=16,color="green",shape="box"];7916[label="vuz3160",fontsize=16,color="green",shape="box"];7917[label="vuz3170",fontsize=16,color="green",shape="box"];7918[label="vuz3160",fontsize=16,color="green",shape="box"];7919[label="vuz3170",fontsize=16,color="green",shape="box"];7920[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt vuz318 (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="burlywood",shape="box"];10991[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7920 -> 10991[label="",style="solid", color="burlywood", weight=9]; 10991 -> 8220[label="",style="solid", color="burlywood", weight=3]; 10992[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7920 -> 10992[label="",style="solid", color="burlywood", weight=9]; 10992 -> 8221[label="",style="solid", color="burlywood", weight=3]; 7921[label="vuz3190",fontsize=16,color="green",shape="box"];7922[label="vuz3170",fontsize=16,color="green",shape="box"];7923[label="vuz3160",fontsize=16,color="green",shape="box"];7924[label="vuz3170",fontsize=16,color="green",shape="box"];7925[label="vuz3160",fontsize=16,color="green",shape="box"];7926[label="vuz3170",fontsize=16,color="green",shape="box"];7927[label="vuz3190",fontsize=16,color="green",shape="box"];7928[label="vuz3170",fontsize=16,color="green",shape="box"];7929[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt vuz318 (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="burlywood",shape="box"];10993[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7929 -> 10993[label="",style="solid", color="burlywood", weight=9]; 10993 -> 8222[label="",style="solid", color="burlywood", weight=3]; 10994[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7929 -> 10994[label="",style="solid", color="burlywood", weight=9]; 10994 -> 8223[label="",style="solid", color="burlywood", weight=3]; 7930[label="vuz3190",fontsize=16,color="green",shape="box"];7931[label="vuz3170",fontsize=16,color="green",shape="box"];7932[label="vuz3160",fontsize=16,color="green",shape="box"];7933[label="vuz3170",fontsize=16,color="green",shape="box"];7934[label="vuz3160",fontsize=16,color="green",shape="box"];7935[label="vuz3170",fontsize=16,color="green",shape="box"];7936[label="vuz3190",fontsize=16,color="green",shape="box"];7937[label="vuz3170",fontsize=16,color="green",shape="box"];7938[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt vuz318 (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="burlywood",shape="box"];10995[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7938 -> 10995[label="",style="solid", color="burlywood", weight=9]; 10995 -> 8224[label="",style="solid", color="burlywood", weight=3]; 10996[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7938 -> 10996[label="",style="solid", color="burlywood", weight=9]; 10996 -> 8225[label="",style="solid", color="burlywood", weight=3]; 7939[label="vuz3190",fontsize=16,color="green",shape="box"];7940[label="vuz3170",fontsize=16,color="green",shape="box"];7941[label="vuz3160",fontsize=16,color="green",shape="box"];7942[label="vuz3170",fontsize=16,color="green",shape="box"];7943[label="vuz3190",fontsize=16,color="green",shape="box"];7944[label="vuz3170",fontsize=16,color="green",shape="box"];7945[label="vuz3160",fontsize=16,color="green",shape="box"];7946[label="vuz3170",fontsize=16,color="green",shape="box"];7947[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt vuz318 (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="burlywood",shape="box"];10997[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7947 -> 10997[label="",style="solid", color="burlywood", weight=9]; 10997 -> 8226[label="",style="solid", color="burlywood", weight=3]; 10998[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7947 -> 10998[label="",style="solid", color="burlywood", weight=9]; 10998 -> 8227[label="",style="solid", color="burlywood", weight=3]; 7948[label="vuz3160",fontsize=16,color="green",shape="box"];7949[label="vuz3170",fontsize=16,color="green",shape="box"];7950[label="vuz3180",fontsize=16,color="green",shape="box"];7951[label="vuz3190",fontsize=16,color="green",shape="box"];7952[label="vuz3160",fontsize=16,color="green",shape="box"];7953[label="vuz3170",fontsize=16,color="green",shape="box"];7954[label="vuz3180",fontsize=16,color="green",shape="box"];7955[label="vuz3190",fontsize=16,color="green",shape="box"];8229 -> 9987[label="",style="dashed", color="red", weight=0]; 8229[label="Pos vuz399 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8229 -> 9989[label="",style="dashed", color="magenta", weight=3]; 8228[label="primQuotInt (Pos vuz398) (gcd2 vuz472 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10999[label="vuz472/False",fontsize=10,color="white",style="solid",shape="box"];8228 -> 10999[label="",style="solid", color="burlywood", weight=9]; 10999 -> 8232[label="",style="solid", color="burlywood", weight=3]; 11000[label="vuz472/True",fontsize=10,color="white",style="solid",shape="box"];8228 -> 11000[label="",style="solid", color="burlywood", weight=9]; 11000 -> 8233[label="",style="solid", color="burlywood", weight=3]; 7957[label="vuz3180",fontsize=16,color="green",shape="box"];7958[label="vuz3190",fontsize=16,color="green",shape="box"];7959 -> 7480[label="",style="dashed", color="red", weight=0]; 7959[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7959 -> 8234[label="",style="dashed", color="magenta", weight=3]; 7959 -> 8235[label="",style="dashed", color="magenta", weight=3]; 7960[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7961 -> 7480[label="",style="dashed", color="red", weight=0]; 7961[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7961 -> 8236[label="",style="dashed", color="magenta", weight=3]; 7961 -> 8237[label="",style="dashed", color="magenta", weight=3]; 7962[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7963[label="vuz3180",fontsize=16,color="green",shape="box"];7964[label="vuz3190",fontsize=16,color="green",shape="box"];7965[label="primQuotInt (primMinusNat (Succ vuz4010) vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11001[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];7965 -> 11001[label="",style="solid", color="burlywood", weight=9]; 11001 -> 8238[label="",style="solid", color="burlywood", weight=3]; 11002[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];7965 -> 11002[label="",style="solid", color="burlywood", weight=9]; 11002 -> 8239[label="",style="solid", color="burlywood", weight=3]; 7966[label="primQuotInt (primMinusNat Zero vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11003[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];7966 -> 11003[label="",style="solid", color="burlywood", weight=9]; 11003 -> 8240[label="",style="solid", color="burlywood", weight=3]; 11004[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];7966 -> 11004[label="",style="solid", color="burlywood", weight=9]; 11004 -> 8241[label="",style="solid", color="burlywood", weight=3]; 7967[label="vuz3180",fontsize=16,color="green",shape="box"];7968[label="vuz3190",fontsize=16,color="green",shape="box"];7969[label="vuz3180",fontsize=16,color="green",shape="box"];7970[label="vuz3190",fontsize=16,color="green",shape="box"];7971[label="primQuotInt (primMinusNat Zero (Succ vuz4060)) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7971 -> 8242[label="",style="solid", color="black", weight=3]; 7972[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7972 -> 8243[label="",style="solid", color="black", weight=3]; 7973[label="vuz3180",fontsize=16,color="green",shape="box"];7974[label="vuz3190",fontsize=16,color="green",shape="box"];7975[label="vuz3180",fontsize=16,color="green",shape="box"];7976[label="vuz3190",fontsize=16,color="green",shape="box"];7977[label="vuz3180",fontsize=16,color="green",shape="box"];7978[label="vuz3190",fontsize=16,color="green",shape="box"];7979[label="vuz3180",fontsize=16,color="green",shape="box"];7980[label="vuz3190",fontsize=16,color="green",shape="box"];7981 -> 7480[label="",style="dashed", color="red", weight=0]; 7981[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7981 -> 8244[label="",style="dashed", color="magenta", weight=3]; 7981 -> 8245[label="",style="dashed", color="magenta", weight=3]; 7982[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7983[label="vuz3180",fontsize=16,color="green",shape="box"];7984[label="vuz3190",fontsize=16,color="green",shape="box"];7985 -> 7480[label="",style="dashed", color="red", weight=0]; 7985[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7985 -> 8246[label="",style="dashed", color="magenta", weight=3]; 7985 -> 8247[label="",style="dashed", color="magenta", weight=3]; 7986[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7987[label="vuz3180",fontsize=16,color="green",shape="box"];7988[label="vuz3190",fontsize=16,color="green",shape="box"];7989[label="primQuotInt (primMinusNat (Succ vuz4090) vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11005[label="vuz408/Succ vuz4080",fontsize=10,color="white",style="solid",shape="box"];7989 -> 11005[label="",style="solid", color="burlywood", weight=9]; 11005 -> 8248[label="",style="solid", color="burlywood", weight=3]; 11006[label="vuz408/Zero",fontsize=10,color="white",style="solid",shape="box"];7989 -> 11006[label="",style="solid", color="burlywood", weight=9]; 11006 -> 8249[label="",style="solid", color="burlywood", weight=3]; 7990[label="primQuotInt (primMinusNat Zero vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11007[label="vuz408/Succ vuz4080",fontsize=10,color="white",style="solid",shape="box"];7990 -> 11007[label="",style="solid", color="burlywood", weight=9]; 11007 -> 8250[label="",style="solid", color="burlywood", weight=3]; 11008[label="vuz408/Zero",fontsize=10,color="white",style="solid",shape="box"];7990 -> 11008[label="",style="solid", color="burlywood", weight=9]; 11008 -> 8251[label="",style="solid", color="burlywood", weight=3]; 7991[label="vuz3180",fontsize=16,color="green",shape="box"];7992[label="vuz3190",fontsize=16,color="green",shape="box"];7993[label="vuz3180",fontsize=16,color="green",shape="box"];7994[label="vuz3190",fontsize=16,color="green",shape="box"];7995[label="primQuotInt (primMinusNat Zero (Succ vuz4140)) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7995 -> 8252[label="",style="solid", color="black", weight=3]; 7996[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7996 -> 8253[label="",style="solid", color="black", weight=3]; 7997[label="vuz3180",fontsize=16,color="green",shape="box"];7998[label="vuz3190",fontsize=16,color="green",shape="box"];7999[label="vuz3180",fontsize=16,color="green",shape="box"];8000[label="vuz3190",fontsize=16,color="green",shape="box"];8001[label="vuz3180",fontsize=16,color="green",shape="box"];8002[label="vuz3190",fontsize=16,color="green",shape="box"];8003[label="vuz3180",fontsize=16,color="green",shape="box"];8004[label="vuz3190",fontsize=16,color="green",shape="box"];8005[label="vuz3160",fontsize=16,color="green",shape="box"];8006[label="vuz3170",fontsize=16,color="green",shape="box"];8007[label="vuz3180",fontsize=16,color="green",shape="box"];8008[label="vuz3190",fontsize=16,color="green",shape="box"];8009[label="vuz3160",fontsize=16,color="green",shape="box"];8010[label="vuz3170",fontsize=16,color="green",shape="box"];8011[label="vuz3180",fontsize=16,color="green",shape="box"];8012[label="vuz3190",fontsize=16,color="green",shape="box"];8255 -> 9987[label="",style="dashed", color="red", weight=0]; 8255[label="Pos vuz417 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8255 -> 9990[label="",style="dashed", color="magenta", weight=3]; 8254[label="primQuotInt (Pos vuz416) (gcd2 vuz473 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11009[label="vuz473/False",fontsize=10,color="white",style="solid",shape="box"];8254 -> 11009[label="",style="solid", color="burlywood", weight=9]; 11009 -> 8258[label="",style="solid", color="burlywood", weight=3]; 11010[label="vuz473/True",fontsize=10,color="white",style="solid",shape="box"];8254 -> 11010[label="",style="solid", color="burlywood", weight=9]; 11010 -> 8259[label="",style="solid", color="burlywood", weight=3]; 8014[label="vuz3160",fontsize=16,color="green",shape="box"];8015[label="vuz3170",fontsize=16,color="green",shape="box"];8016 -> 7480[label="",style="dashed", color="red", weight=0]; 8016[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8016 -> 8260[label="",style="dashed", color="magenta", weight=3]; 8016 -> 8261[label="",style="dashed", color="magenta", weight=3]; 8017[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8018[label="vuz3160",fontsize=16,color="green",shape="box"];8019[label="vuz3170",fontsize=16,color="green",shape="box"];8020 -> 7480[label="",style="dashed", color="red", weight=0]; 8020[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8020 -> 8262[label="",style="dashed", color="magenta", weight=3]; 8020 -> 8263[label="",style="dashed", color="magenta", weight=3]; 8021[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8022[label="primQuotInt (primMinusNat (Succ vuz4190) vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11011[label="vuz418/Succ vuz4180",fontsize=10,color="white",style="solid",shape="box"];8022 -> 11011[label="",style="solid", color="burlywood", weight=9]; 11011 -> 8264[label="",style="solid", color="burlywood", weight=3]; 11012[label="vuz418/Zero",fontsize=10,color="white",style="solid",shape="box"];8022 -> 11012[label="",style="solid", color="burlywood", weight=9]; 11012 -> 8265[label="",style="solid", color="burlywood", weight=3]; 8023[label="primQuotInt (primMinusNat Zero vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11013[label="vuz418/Succ vuz4180",fontsize=10,color="white",style="solid",shape="box"];8023 -> 11013[label="",style="solid", color="burlywood", weight=9]; 11013 -> 8266[label="",style="solid", color="burlywood", weight=3]; 11014[label="vuz418/Zero",fontsize=10,color="white",style="solid",shape="box"];8023 -> 11014[label="",style="solid", color="burlywood", weight=9]; 11014 -> 8267[label="",style="solid", color="burlywood", weight=3]; 8024[label="vuz3160",fontsize=16,color="green",shape="box"];8025[label="vuz3170",fontsize=16,color="green",shape="box"];8026[label="vuz3160",fontsize=16,color="green",shape="box"];8027[label="vuz3170",fontsize=16,color="green",shape="box"];8028[label="primQuotInt (primMinusNat Zero (Succ vuz4240)) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8028 -> 8268[label="",style="solid", color="black", weight=3]; 8029[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8029 -> 8269[label="",style="solid", color="black", weight=3]; 8030[label="vuz3160",fontsize=16,color="green",shape="box"];8031[label="vuz3170",fontsize=16,color="green",shape="box"];8032[label="vuz3160",fontsize=16,color="green",shape="box"];8033[label="vuz3170",fontsize=16,color="green",shape="box"];8034[label="vuz3160",fontsize=16,color="green",shape="box"];8035[label="vuz3170",fontsize=16,color="green",shape="box"];8036[label="vuz3160",fontsize=16,color="green",shape="box"];8037[label="vuz3170",fontsize=16,color="green",shape="box"];8038[label="vuz3160",fontsize=16,color="green",shape="box"];8039[label="vuz3170",fontsize=16,color="green",shape="box"];8040[label="vuz3180",fontsize=16,color="green",shape="box"];8041[label="vuz3190",fontsize=16,color="green",shape="box"];8042[label="vuz3160",fontsize=16,color="green",shape="box"];8043[label="vuz3170",fontsize=16,color="green",shape="box"];8044[label="vuz3180",fontsize=16,color="green",shape="box"];8045[label="vuz3190",fontsize=16,color="green",shape="box"];8271 -> 9987[label="",style="dashed", color="red", weight=0]; 8271[label="Neg vuz427 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8271 -> 9991[label="",style="dashed", color="magenta", weight=3]; 8270[label="primQuotInt (Neg vuz426) (gcd2 vuz474 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11015[label="vuz474/False",fontsize=10,color="white",style="solid",shape="box"];8270 -> 11015[label="",style="solid", color="burlywood", weight=9]; 11015 -> 8274[label="",style="solid", color="burlywood", weight=3]; 11016[label="vuz474/True",fontsize=10,color="white",style="solid",shape="box"];8270 -> 11016[label="",style="solid", color="burlywood", weight=9]; 11016 -> 8275[label="",style="solid", color="burlywood", weight=3]; 8047[label="vuz3160",fontsize=16,color="green",shape="box"];8048[label="vuz3170",fontsize=16,color="green",shape="box"];8049[label="vuz3180",fontsize=16,color="green",shape="box"];8050[label="vuz3190",fontsize=16,color="green",shape="box"];8051[label="vuz3160",fontsize=16,color="green",shape="box"];8052[label="vuz3170",fontsize=16,color="green",shape="box"];8053[label="vuz3180",fontsize=16,color="green",shape="box"];8054[label="vuz3190",fontsize=16,color="green",shape="box"];8277 -> 9987[label="",style="dashed", color="red", weight=0]; 8277[label="Neg vuz429 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8277 -> 9992[label="",style="dashed", color="magenta", weight=3]; 8276[label="primQuotInt (Neg vuz428) (gcd2 vuz475 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11017[label="vuz475/False",fontsize=10,color="white",style="solid",shape="box"];8276 -> 11017[label="",style="solid", color="burlywood", weight=9]; 11017 -> 8280[label="",style="solid", color="burlywood", weight=3]; 11018[label="vuz475/True",fontsize=10,color="white",style="solid",shape="box"];8276 -> 11018[label="",style="solid", color="burlywood", weight=9]; 11018 -> 8281[label="",style="solid", color="burlywood", weight=3]; 8056 -> 7480[label="",style="dashed", color="red", weight=0]; 8056[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8056 -> 8282[label="",style="dashed", color="magenta", weight=3]; 8056 -> 8283[label="",style="dashed", color="magenta", weight=3]; 8057[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8058[label="vuz3160",fontsize=16,color="green",shape="box"];8059[label="vuz3170",fontsize=16,color="green",shape="box"];8060[label="vuz3160",fontsize=16,color="green",shape="box"];8061[label="vuz3170",fontsize=16,color="green",shape="box"];8062 -> 7480[label="",style="dashed", color="red", weight=0]; 8062[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8062 -> 8284[label="",style="dashed", color="magenta", weight=3]; 8062 -> 8285[label="",style="dashed", color="magenta", weight=3]; 8063[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8064[label="primQuotInt (primMinusNat (Succ vuz4310) vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11019[label="vuz430/Succ vuz4300",fontsize=10,color="white",style="solid",shape="box"];8064 -> 11019[label="",style="solid", color="burlywood", weight=9]; 11019 -> 8286[label="",style="solid", color="burlywood", weight=3]; 11020[label="vuz430/Zero",fontsize=10,color="white",style="solid",shape="box"];8064 -> 11020[label="",style="solid", color="burlywood", weight=9]; 11020 -> 8287[label="",style="solid", color="burlywood", weight=3]; 8065[label="primQuotInt (primMinusNat Zero vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11021[label="vuz430/Succ vuz4300",fontsize=10,color="white",style="solid",shape="box"];8065 -> 11021[label="",style="solid", color="burlywood", weight=9]; 11021 -> 8288[label="",style="solid", color="burlywood", weight=3]; 11022[label="vuz430/Zero",fontsize=10,color="white",style="solid",shape="box"];8065 -> 11022[label="",style="solid", color="burlywood", weight=9]; 11022 -> 8289[label="",style="solid", color="burlywood", weight=3]; 8066[label="vuz3160",fontsize=16,color="green",shape="box"];8067[label="vuz3170",fontsize=16,color="green",shape="box"];8068[label="vuz3160",fontsize=16,color="green",shape="box"];8069[label="vuz3170",fontsize=16,color="green",shape="box"];8070[label="primQuotInt (primMinusNat Zero (Succ vuz4360)) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8070 -> 8290[label="",style="solid", color="black", weight=3]; 8071[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8071 -> 8291[label="",style="solid", color="black", weight=3]; 8072[label="vuz3160",fontsize=16,color="green",shape="box"];8073[label="vuz3170",fontsize=16,color="green",shape="box"];8074[label="vuz3160",fontsize=16,color="green",shape="box"];8075[label="vuz3170",fontsize=16,color="green",shape="box"];8076[label="vuz3160",fontsize=16,color="green",shape="box"];8077[label="vuz3170",fontsize=16,color="green",shape="box"];8078[label="vuz3160",fontsize=16,color="green",shape="box"];8079[label="vuz3170",fontsize=16,color="green",shape="box"];8080 -> 7480[label="",style="dashed", color="red", weight=0]; 8080[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8080 -> 8292[label="",style="dashed", color="magenta", weight=3]; 8080 -> 8293[label="",style="dashed", color="magenta", weight=3]; 8081[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8082[label="vuz3160",fontsize=16,color="green",shape="box"];8083[label="vuz3170",fontsize=16,color="green",shape="box"];8084[label="vuz3160",fontsize=16,color="green",shape="box"];8085[label="vuz3170",fontsize=16,color="green",shape="box"];8086 -> 7480[label="",style="dashed", color="red", weight=0]; 8086[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8086 -> 8294[label="",style="dashed", color="magenta", weight=3]; 8086 -> 8295[label="",style="dashed", color="magenta", weight=3]; 8087[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8088[label="primQuotInt (primMinusNat (Succ vuz4390) vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11023[label="vuz438/Succ vuz4380",fontsize=10,color="white",style="solid",shape="box"];8088 -> 11023[label="",style="solid", color="burlywood", weight=9]; 11023 -> 8296[label="",style="solid", color="burlywood", weight=3]; 11024[label="vuz438/Zero",fontsize=10,color="white",style="solid",shape="box"];8088 -> 11024[label="",style="solid", color="burlywood", weight=9]; 11024 -> 8297[label="",style="solid", color="burlywood", weight=3]; 8089[label="primQuotInt (primMinusNat Zero vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11025[label="vuz438/Succ vuz4380",fontsize=10,color="white",style="solid",shape="box"];8089 -> 11025[label="",style="solid", color="burlywood", weight=9]; 11025 -> 8298[label="",style="solid", color="burlywood", weight=3]; 11026[label="vuz438/Zero",fontsize=10,color="white",style="solid",shape="box"];8089 -> 11026[label="",style="solid", color="burlywood", weight=9]; 11026 -> 8299[label="",style="solid", color="burlywood", weight=3]; 8090[label="vuz3160",fontsize=16,color="green",shape="box"];8091[label="vuz3170",fontsize=16,color="green",shape="box"];8092[label="vuz3160",fontsize=16,color="green",shape="box"];8093[label="vuz3170",fontsize=16,color="green",shape="box"];8094[label="primQuotInt (primMinusNat Zero (Succ vuz4440)) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8094 -> 8300[label="",style="solid", color="black", weight=3]; 8095[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8095 -> 8301[label="",style="solid", color="black", weight=3]; 8096[label="vuz3160",fontsize=16,color="green",shape="box"];8097[label="vuz3170",fontsize=16,color="green",shape="box"];8098[label="vuz3160",fontsize=16,color="green",shape="box"];8099[label="vuz3170",fontsize=16,color="green",shape="box"];8100[label="vuz3160",fontsize=16,color="green",shape="box"];8101[label="vuz3170",fontsize=16,color="green",shape="box"];8102[label="vuz3160",fontsize=16,color="green",shape="box"];8103[label="vuz3170",fontsize=16,color="green",shape="box"];8104[label="vuz3160",fontsize=16,color="green",shape="box"];8105[label="vuz3170",fontsize=16,color="green",shape="box"];8106[label="vuz3180",fontsize=16,color="green",shape="box"];8107[label="vuz3190",fontsize=16,color="green",shape="box"];8108[label="vuz3160",fontsize=16,color="green",shape="box"];8109[label="vuz3170",fontsize=16,color="green",shape="box"];8110[label="vuz3180",fontsize=16,color="green",shape="box"];8111[label="vuz3190",fontsize=16,color="green",shape="box"];8303 -> 9987[label="",style="dashed", color="red", weight=0]; 8303[label="Neg vuz447 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8303 -> 9993[label="",style="dashed", color="magenta", weight=3]; 8302[label="primQuotInt (Neg vuz446) (gcd2 vuz476 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11027[label="vuz476/False",fontsize=10,color="white",style="solid",shape="box"];8302 -> 11027[label="",style="solid", color="burlywood", weight=9]; 11027 -> 8306[label="",style="solid", color="burlywood", weight=3]; 11028[label="vuz476/True",fontsize=10,color="white",style="solid",shape="box"];8302 -> 11028[label="",style="solid", color="burlywood", weight=9]; 11028 -> 8307[label="",style="solid", color="burlywood", weight=3]; 8113[label="vuz3160",fontsize=16,color="green",shape="box"];8114[label="vuz3170",fontsize=16,color="green",shape="box"];8115[label="vuz3180",fontsize=16,color="green",shape="box"];8116[label="vuz3190",fontsize=16,color="green",shape="box"];8117[label="vuz3160",fontsize=16,color="green",shape="box"];8118[label="vuz3170",fontsize=16,color="green",shape="box"];8119[label="vuz3180",fontsize=16,color="green",shape="box"];8120[label="vuz3190",fontsize=16,color="green",shape="box"];8309 -> 9987[label="",style="dashed", color="red", weight=0]; 8309[label="Neg vuz349 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8309 -> 9994[label="",style="dashed", color="magenta", weight=3]; 8308[label="primQuotInt (Neg vuz348) (gcd2 vuz477 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11029[label="vuz477/False",fontsize=10,color="white",style="solid",shape="box"];8308 -> 11029[label="",style="solid", color="burlywood", weight=9]; 11029 -> 8312[label="",style="solid", color="burlywood", weight=3]; 11030[label="vuz477/True",fontsize=10,color="white",style="solid",shape="box"];8308 -> 11030[label="",style="solid", color="burlywood", weight=9]; 11030 -> 8313[label="",style="solid", color="burlywood", weight=3]; 8122 -> 7480[label="",style="dashed", color="red", weight=0]; 8122[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8122 -> 8314[label="",style="dashed", color="magenta", weight=3]; 8122 -> 8315[label="",style="dashed", color="magenta", weight=3]; 8123[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8124 -> 7480[label="",style="dashed", color="red", weight=0]; 8124[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8124 -> 8316[label="",style="dashed", color="magenta", weight=3]; 8124 -> 8317[label="",style="dashed", color="magenta", weight=3]; 8125[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8126[label="vuz3160",fontsize=16,color="green",shape="box"];8127[label="vuz3170",fontsize=16,color="green",shape="box"];8128[label="vuz3160",fontsize=16,color="green",shape="box"];8129[label="vuz3170",fontsize=16,color="green",shape="box"];8130[label="primQuotInt (primMinusNat (Succ vuz4490) vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11031[label="vuz448/Succ vuz4480",fontsize=10,color="white",style="solid",shape="box"];8130 -> 11031[label="",style="solid", color="burlywood", weight=9]; 11031 -> 8318[label="",style="solid", color="burlywood", weight=3]; 11032[label="vuz448/Zero",fontsize=10,color="white",style="solid",shape="box"];8130 -> 11032[label="",style="solid", color="burlywood", weight=9]; 11032 -> 8319[label="",style="solid", color="burlywood", weight=3]; 8131[label="primQuotInt (primMinusNat Zero vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11033[label="vuz448/Succ vuz4480",fontsize=10,color="white",style="solid",shape="box"];8131 -> 11033[label="",style="solid", color="burlywood", weight=9]; 11033 -> 8320[label="",style="solid", color="burlywood", weight=3]; 11034[label="vuz448/Zero",fontsize=10,color="white",style="solid",shape="box"];8131 -> 11034[label="",style="solid", color="burlywood", weight=9]; 11034 -> 8321[label="",style="solid", color="burlywood", weight=3]; 8132[label="vuz3160",fontsize=16,color="green",shape="box"];8133[label="vuz3170",fontsize=16,color="green",shape="box"];8134[label="vuz3160",fontsize=16,color="green",shape="box"];8135[label="vuz3170",fontsize=16,color="green",shape="box"];8136[label="primQuotInt (primMinusNat Zero (Succ vuz4540)) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8136 -> 8322[label="",style="solid", color="black", weight=3]; 8137[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8137 -> 8323[label="",style="solid", color="black", weight=3]; 8138[label="vuz3160",fontsize=16,color="green",shape="box"];8139[label="vuz3170",fontsize=16,color="green",shape="box"];8140[label="vuz3160",fontsize=16,color="green",shape="box"];8141[label="vuz3170",fontsize=16,color="green",shape="box"];8142[label="vuz3160",fontsize=16,color="green",shape="box"];8143[label="vuz3170",fontsize=16,color="green",shape="box"];8144[label="vuz3160",fontsize=16,color="green",shape="box"];8145[label="vuz3170",fontsize=16,color="green",shape="box"];8146[label="vuz3160",fontsize=16,color="green",shape="box"];8147[label="vuz3170",fontsize=16,color="green",shape="box"];8148[label="vuz3180",fontsize=16,color="green",shape="box"];8149[label="vuz3190",fontsize=16,color="green",shape="box"];8150[label="vuz3160",fontsize=16,color="green",shape="box"];8151[label="vuz3170",fontsize=16,color="green",shape="box"];8152[label="vuz3180",fontsize=16,color="green",shape="box"];8153[label="vuz3190",fontsize=16,color="green",shape="box"];8325 -> 9987[label="",style="dashed", color="red", weight=0]; 8325[label="Pos vuz355 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8325 -> 9995[label="",style="dashed", color="magenta", weight=3]; 8324[label="primQuotInt (Pos vuz354) (gcd2 vuz478 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11035[label="vuz478/False",fontsize=10,color="white",style="solid",shape="box"];8324 -> 11035[label="",style="solid", color="burlywood", weight=9]; 11035 -> 8328[label="",style="solid", color="burlywood", weight=3]; 11036[label="vuz478/True",fontsize=10,color="white",style="solid",shape="box"];8324 -> 11036[label="",style="solid", color="burlywood", weight=9]; 11036 -> 8329[label="",style="solid", color="burlywood", weight=3]; 8155 -> 7480[label="",style="dashed", color="red", weight=0]; 8155[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8155 -> 8330[label="",style="dashed", color="magenta", weight=3]; 8155 -> 8331[label="",style="dashed", color="magenta", weight=3]; 8156[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8157[label="vuz3180",fontsize=16,color="green",shape="box"];8158[label="vuz3190",fontsize=16,color="green",shape="box"];8159[label="vuz3180",fontsize=16,color="green",shape="box"];8160[label="vuz3190",fontsize=16,color="green",shape="box"];8161 -> 7480[label="",style="dashed", color="red", weight=0]; 8161[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8161 -> 8332[label="",style="dashed", color="magenta", weight=3]; 8161 -> 8333[label="",style="dashed", color="magenta", weight=3]; 8162[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8163[label="primQuotInt (primMinusNat (Succ vuz4570) vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11037[label="vuz456/Succ vuz4560",fontsize=10,color="white",style="solid",shape="box"];8163 -> 11037[label="",style="solid", color="burlywood", weight=9]; 11037 -> 8334[label="",style="solid", color="burlywood", weight=3]; 11038[label="vuz456/Zero",fontsize=10,color="white",style="solid",shape="box"];8163 -> 11038[label="",style="solid", color="burlywood", weight=9]; 11038 -> 8335[label="",style="solid", color="burlywood", weight=3]; 8164[label="primQuotInt (primMinusNat Zero vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11039[label="vuz456/Succ vuz4560",fontsize=10,color="white",style="solid",shape="box"];8164 -> 11039[label="",style="solid", color="burlywood", weight=9]; 11039 -> 8336[label="",style="solid", color="burlywood", weight=3]; 11040[label="vuz456/Zero",fontsize=10,color="white",style="solid",shape="box"];8164 -> 11040[label="",style="solid", color="burlywood", weight=9]; 11040 -> 8337[label="",style="solid", color="burlywood", weight=3]; 8165[label="vuz3180",fontsize=16,color="green",shape="box"];8166[label="vuz3190",fontsize=16,color="green",shape="box"];8167[label="vuz3180",fontsize=16,color="green",shape="box"];8168[label="vuz3190",fontsize=16,color="green",shape="box"];8169[label="primQuotInt (primMinusNat Zero (Succ vuz4620)) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8169 -> 8338[label="",style="solid", color="black", weight=3]; 8170[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8170 -> 8339[label="",style="solid", color="black", weight=3]; 8171[label="vuz3180",fontsize=16,color="green",shape="box"];8172[label="vuz3190",fontsize=16,color="green",shape="box"];8173[label="vuz3180",fontsize=16,color="green",shape="box"];8174[label="vuz3190",fontsize=16,color="green",shape="box"];8175[label="vuz3180",fontsize=16,color="green",shape="box"];8176[label="vuz3190",fontsize=16,color="green",shape="box"];8177[label="vuz3180",fontsize=16,color="green",shape="box"];8178[label="vuz3190",fontsize=16,color="green",shape="box"];8179 -> 7480[label="",style="dashed", color="red", weight=0]; 8179[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8179 -> 8340[label="",style="dashed", color="magenta", weight=3]; 8179 -> 8341[label="",style="dashed", color="magenta", weight=3]; 8180[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8181[label="vuz3180",fontsize=16,color="green",shape="box"];8182[label="vuz3190",fontsize=16,color="green",shape="box"];8183[label="vuz3180",fontsize=16,color="green",shape="box"];8184[label="vuz3190",fontsize=16,color="green",shape="box"];8185 -> 7480[label="",style="dashed", color="red", weight=0]; 8185[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8185 -> 8342[label="",style="dashed", color="magenta", weight=3]; 8185 -> 8343[label="",style="dashed", color="magenta", weight=3]; 8186[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8187[label="primQuotInt (primMinusNat (Succ vuz4650) vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11041[label="vuz464/Succ vuz4640",fontsize=10,color="white",style="solid",shape="box"];8187 -> 11041[label="",style="solid", color="burlywood", weight=9]; 11041 -> 8344[label="",style="solid", color="burlywood", weight=3]; 11042[label="vuz464/Zero",fontsize=10,color="white",style="solid",shape="box"];8187 -> 11042[label="",style="solid", color="burlywood", weight=9]; 11042 -> 8345[label="",style="solid", color="burlywood", weight=3]; 8188[label="primQuotInt (primMinusNat Zero vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11043[label="vuz464/Succ vuz4640",fontsize=10,color="white",style="solid",shape="box"];8188 -> 11043[label="",style="solid", color="burlywood", weight=9]; 11043 -> 8346[label="",style="solid", color="burlywood", weight=3]; 11044[label="vuz464/Zero",fontsize=10,color="white",style="solid",shape="box"];8188 -> 11044[label="",style="solid", color="burlywood", weight=9]; 11044 -> 8347[label="",style="solid", color="burlywood", weight=3]; 8189[label="vuz3180",fontsize=16,color="green",shape="box"];8190[label="vuz3190",fontsize=16,color="green",shape="box"];8191[label="vuz3180",fontsize=16,color="green",shape="box"];8192[label="vuz3190",fontsize=16,color="green",shape="box"];8193[label="primQuotInt (primMinusNat Zero (Succ vuz4700)) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8193 -> 8348[label="",style="solid", color="black", weight=3]; 8194[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8194 -> 8349[label="",style="solid", color="black", weight=3]; 8195[label="vuz3180",fontsize=16,color="green",shape="box"];8196[label="vuz3190",fontsize=16,color="green",shape="box"];8197[label="vuz3180",fontsize=16,color="green",shape="box"];8198[label="vuz3190",fontsize=16,color="green",shape="box"];8199[label="vuz3180",fontsize=16,color="green",shape="box"];8200[label="vuz3190",fontsize=16,color="green",shape="box"];8201[label="vuz3180",fontsize=16,color="green",shape="box"];8202[label="vuz3190",fontsize=16,color="green",shape="box"];8203[label="vuz3160",fontsize=16,color="green",shape="box"];8204[label="vuz3170",fontsize=16,color="green",shape="box"];8205[label="vuz3180",fontsize=16,color="green",shape="box"];8206[label="vuz3190",fontsize=16,color="green",shape="box"];8207[label="vuz3160",fontsize=16,color="green",shape="box"];8208[label="vuz3170",fontsize=16,color="green",shape="box"];8209[label="vuz3180",fontsize=16,color="green",shape="box"];8210[label="vuz3190",fontsize=16,color="green",shape="box"];8351 -> 9987[label="",style="dashed", color="red", weight=0]; 8351[label="Pos vuz361 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8351 -> 9996[label="",style="dashed", color="magenta", weight=3]; 8350[label="primQuotInt (Pos vuz360) (gcd2 vuz479 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11045[label="vuz479/False",fontsize=10,color="white",style="solid",shape="box"];8350 -> 11045[label="",style="solid", color="burlywood", weight=9]; 11045 -> 8354[label="",style="solid", color="burlywood", weight=3]; 11046[label="vuz479/True",fontsize=10,color="white",style="solid",shape="box"];8350 -> 11046[label="",style="solid", color="burlywood", weight=9]; 11046 -> 8355[label="",style="solid", color="burlywood", weight=3]; 8212[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="black",shape="box"];8212 -> 8356[label="",style="solid", color="black", weight=3]; 8213[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="black",shape="box"];8213 -> 8357[label="",style="solid", color="black", weight=3]; 8214[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="black",shape="box"];8214 -> 8358[label="",style="solid", color="black", weight=3]; 8215[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="black",shape="box"];8215 -> 8359[label="",style="solid", color="black", weight=3]; 8216[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="black",shape="box"];8216 -> 8360[label="",style="solid", color="black", weight=3]; 8217[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="black",shape="box"];8217 -> 8361[label="",style="solid", color="black", weight=3]; 8218[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="black",shape="box"];8218 -> 8362[label="",style="solid", color="black", weight=3]; 8219[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="black",shape="box"];8219 -> 8363[label="",style="solid", color="black", weight=3]; 8220[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="black",shape="box"];8220 -> 8364[label="",style="solid", color="black", weight=3]; 8221[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="black",shape="box"];8221 -> 8365[label="",style="solid", color="black", weight=3]; 8222[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="black",shape="box"];8222 -> 8366[label="",style="solid", color="black", weight=3]; 8223[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="black",shape="box"];8223 -> 8367[label="",style="solid", color="black", weight=3]; 8224[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="black",shape="box"];8224 -> 8368[label="",style="solid", color="black", weight=3]; 8225[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="black",shape="box"];8225 -> 8369[label="",style="solid", color="black", weight=3]; 8226[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="black",shape="box"];8226 -> 8370[label="",style="solid", color="black", weight=3]; 8227[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="black",shape="box"];8227 -> 8371[label="",style="solid", color="black", weight=3]; 9989[label="Pos vuz399",fontsize=16,color="green",shape="box"];8232[label="primQuotInt (Pos vuz398) (gcd2 False (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8232 -> 8373[label="",style="solid", color="black", weight=3]; 8233[label="primQuotInt (Pos vuz398) (gcd2 True (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8233 -> 8374[label="",style="solid", color="black", weight=3]; 8234[label="vuz31600",fontsize=16,color="green",shape="box"];8235[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8236[label="vuz31600",fontsize=16,color="green",shape="box"];8237[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8238[label="primQuotInt (primMinusNat (Succ vuz4010) (Succ vuz4000)) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8238 -> 8375[label="",style="solid", color="black", weight=3]; 8239[label="primQuotInt (primMinusNat (Succ vuz4010) Zero) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8239 -> 8376[label="",style="solid", color="black", weight=3]; 8240[label="primQuotInt (primMinusNat Zero (Succ vuz4000)) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8240 -> 8377[label="",style="solid", color="black", weight=3]; 8241[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8241 -> 8378[label="",style="solid", color="black", weight=3]; 8242[label="primQuotInt (Neg (Succ vuz4060)) (reduce2D (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8242 -> 8379[label="",style="solid", color="black", weight=3]; 8243[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8243 -> 8380[label="",style="solid", color="black", weight=3]; 8244[label="vuz31600",fontsize=16,color="green",shape="box"];8245[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8246[label="vuz31600",fontsize=16,color="green",shape="box"];8247[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8248[label="primQuotInt (primMinusNat (Succ vuz4090) (Succ vuz4080)) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8248 -> 8381[label="",style="solid", color="black", weight=3]; 8249[label="primQuotInt (primMinusNat (Succ vuz4090) Zero) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8249 -> 8382[label="",style="solid", color="black", weight=3]; 8250[label="primQuotInt (primMinusNat Zero (Succ vuz4080)) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8250 -> 8383[label="",style="solid", color="black", weight=3]; 8251[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8251 -> 8384[label="",style="solid", color="black", weight=3]; 8252[label="primQuotInt (Neg (Succ vuz4140)) (reduce2D (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8252 -> 8385[label="",style="solid", color="black", weight=3]; 8253[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8253 -> 8386[label="",style="solid", color="black", weight=3]; 9990[label="Pos vuz417",fontsize=16,color="green",shape="box"];8258[label="primQuotInt (Pos vuz416) (gcd2 False (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8258 -> 8387[label="",style="solid", color="black", weight=3]; 8259[label="primQuotInt (Pos vuz416) (gcd2 True (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8259 -> 8388[label="",style="solid", color="black", weight=3]; 8260[label="vuz31800",fontsize=16,color="green",shape="box"];8261[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8262[label="vuz31800",fontsize=16,color="green",shape="box"];8263[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8264[label="primQuotInt (primMinusNat (Succ vuz4190) (Succ vuz4180)) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8264 -> 8389[label="",style="solid", color="black", weight=3]; 8265[label="primQuotInt (primMinusNat (Succ vuz4190) Zero) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8265 -> 8390[label="",style="solid", color="black", weight=3]; 8266[label="primQuotInt (primMinusNat Zero (Succ vuz4180)) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8266 -> 8391[label="",style="solid", color="black", weight=3]; 8267[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8267 -> 8392[label="",style="solid", color="black", weight=3]; 8268[label="primQuotInt (Neg (Succ vuz4240)) (reduce2D (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8268 -> 8393[label="",style="solid", color="black", weight=3]; 8269[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8269 -> 8394[label="",style="solid", color="black", weight=3]; 9991[label="Neg vuz427",fontsize=16,color="green",shape="box"];8274[label="primQuotInt (Neg vuz426) (gcd2 False (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8274 -> 8396[label="",style="solid", color="black", weight=3]; 8275[label="primQuotInt (Neg vuz426) (gcd2 True (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8275 -> 8397[label="",style="solid", color="black", weight=3]; 9992[label="Neg vuz429",fontsize=16,color="green",shape="box"];8280[label="primQuotInt (Neg vuz428) (gcd2 False (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8280 -> 8398[label="",style="solid", color="black", weight=3]; 8281[label="primQuotInt (Neg vuz428) (gcd2 True (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8281 -> 8399[label="",style="solid", color="black", weight=3]; 8282[label="vuz31800",fontsize=16,color="green",shape="box"];8283[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8284[label="vuz31800",fontsize=16,color="green",shape="box"];8285[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8286[label="primQuotInt (primMinusNat (Succ vuz4310) (Succ vuz4300)) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8286 -> 8400[label="",style="solid", color="black", weight=3]; 8287[label="primQuotInt (primMinusNat (Succ vuz4310) Zero) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8287 -> 8401[label="",style="solid", color="black", weight=3]; 8288[label="primQuotInt (primMinusNat Zero (Succ vuz4300)) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8288 -> 8402[label="",style="solid", color="black", weight=3]; 8289[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8289 -> 8403[label="",style="solid", color="black", weight=3]; 8290[label="primQuotInt (Neg (Succ vuz4360)) (reduce2D (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8290 -> 8404[label="",style="solid", color="black", weight=3]; 8291[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8291 -> 8405[label="",style="solid", color="black", weight=3]; 8292[label="vuz31800",fontsize=16,color="green",shape="box"];8293[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8294[label="vuz31800",fontsize=16,color="green",shape="box"];8295[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8296[label="primQuotInt (primMinusNat (Succ vuz4390) (Succ vuz4380)) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8296 -> 8406[label="",style="solid", color="black", weight=3]; 8297[label="primQuotInt (primMinusNat (Succ vuz4390) Zero) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8297 -> 8407[label="",style="solid", color="black", weight=3]; 8298[label="primQuotInt (primMinusNat Zero (Succ vuz4380)) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8298 -> 8408[label="",style="solid", color="black", weight=3]; 8299[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8299 -> 8409[label="",style="solid", color="black", weight=3]; 8300[label="primQuotInt (Neg (Succ vuz4440)) (reduce2D (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8300 -> 8410[label="",style="solid", color="black", weight=3]; 8301[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8301 -> 8411[label="",style="solid", color="black", weight=3]; 9993[label="Neg vuz447",fontsize=16,color="green",shape="box"];8306[label="primQuotInt (Neg vuz446) (gcd2 False (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8306 -> 8412[label="",style="solid", color="black", weight=3]; 8307[label="primQuotInt (Neg vuz446) (gcd2 True (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8307 -> 8413[label="",style="solid", color="black", weight=3]; 9994[label="Neg vuz349",fontsize=16,color="green",shape="box"];8312[label="primQuotInt (Neg vuz348) (gcd2 False (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8312 -> 8414[label="",style="solid", color="black", weight=3]; 8313[label="primQuotInt (Neg vuz348) (gcd2 True (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8313 -> 8415[label="",style="solid", color="black", weight=3]; 8314[label="vuz31800",fontsize=16,color="green",shape="box"];8315[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8316[label="vuz31800",fontsize=16,color="green",shape="box"];8317[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8318[label="primQuotInt (primMinusNat (Succ vuz4490) (Succ vuz4480)) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8318 -> 8416[label="",style="solid", color="black", weight=3]; 8319[label="primQuotInt (primMinusNat (Succ vuz4490) Zero) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8319 -> 8417[label="",style="solid", color="black", weight=3]; 8320[label="primQuotInt (primMinusNat Zero (Succ vuz4480)) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8320 -> 8418[label="",style="solid", color="black", weight=3]; 8321[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8321 -> 8419[label="",style="solid", color="black", weight=3]; 8322[label="primQuotInt (Neg (Succ vuz4540)) (reduce2D (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8322 -> 8420[label="",style="solid", color="black", weight=3]; 8323[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8323 -> 8421[label="",style="solid", color="black", weight=3]; 9995[label="Pos vuz355",fontsize=16,color="green",shape="box"];8328[label="primQuotInt (Pos vuz354) (gcd2 False (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8328 -> 8422[label="",style="solid", color="black", weight=3]; 8329[label="primQuotInt (Pos vuz354) (gcd2 True (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8329 -> 8423[label="",style="solid", color="black", weight=3]; 8330[label="vuz31600",fontsize=16,color="green",shape="box"];8331[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8332[label="vuz31600",fontsize=16,color="green",shape="box"];8333[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8334[label="primQuotInt (primMinusNat (Succ vuz4570) (Succ vuz4560)) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8334 -> 8424[label="",style="solid", color="black", weight=3]; 8335[label="primQuotInt (primMinusNat (Succ vuz4570) Zero) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8335 -> 8425[label="",style="solid", color="black", weight=3]; 8336[label="primQuotInt (primMinusNat Zero (Succ vuz4560)) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8336 -> 8426[label="",style="solid", color="black", weight=3]; 8337[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8337 -> 8427[label="",style="solid", color="black", weight=3]; 8338[label="primQuotInt (Neg (Succ vuz4620)) (reduce2D (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8338 -> 8428[label="",style="solid", color="black", weight=3]; 8339[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8339 -> 8429[label="",style="solid", color="black", weight=3]; 8340[label="vuz31600",fontsize=16,color="green",shape="box"];8341[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8342[label="vuz31600",fontsize=16,color="green",shape="box"];8343[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8344[label="primQuotInt (primMinusNat (Succ vuz4650) (Succ vuz4640)) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8344 -> 8430[label="",style="solid", color="black", weight=3]; 8345[label="primQuotInt (primMinusNat (Succ vuz4650) Zero) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8345 -> 8431[label="",style="solid", color="black", weight=3]; 8346[label="primQuotInt (primMinusNat Zero (Succ vuz4640)) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8346 -> 8432[label="",style="solid", color="black", weight=3]; 8347[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8347 -> 8433[label="",style="solid", color="black", weight=3]; 8348[label="primQuotInt (Neg (Succ vuz4700)) (reduce2D (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8348 -> 8434[label="",style="solid", color="black", weight=3]; 8349[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8349 -> 8435[label="",style="solid", color="black", weight=3]; 9996[label="Pos vuz361",fontsize=16,color="green",shape="box"];8354[label="primQuotInt (Pos vuz360) (gcd2 False (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8354 -> 8436[label="",style="solid", color="black", weight=3]; 8355[label="primQuotInt (Pos vuz360) (gcd2 True (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8355 -> 8437[label="",style="solid", color="black", weight=3]; 8356 -> 8438[label="",style="dashed", color="red", weight=0]; 8356[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz367))",fontsize=16,color="magenta"];8356 -> 8439[label="",style="dashed", color="magenta", weight=3]; 8356 -> 8440[label="",style="dashed", color="magenta", weight=3]; 8357 -> 8447[label="",style="dashed", color="red", weight=0]; 8357[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz367))",fontsize=16,color="magenta"];8357 -> 8448[label="",style="dashed", color="magenta", weight=3]; 8357 -> 8449[label="",style="dashed", color="magenta", weight=3]; 8358 -> 8456[label="",style="dashed", color="red", weight=0]; 8358[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz371))",fontsize=16,color="magenta"];8358 -> 8457[label="",style="dashed", color="magenta", weight=3]; 8358 -> 8458[label="",style="dashed", color="magenta", weight=3]; 8359 -> 8465[label="",style="dashed", color="red", weight=0]; 8359[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz371))",fontsize=16,color="magenta"];8359 -> 8466[label="",style="dashed", color="magenta", weight=3]; 8359 -> 8467[label="",style="dashed", color="magenta", weight=3]; 8360 -> 8474[label="",style="dashed", color="red", weight=0]; 8360[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz375))",fontsize=16,color="magenta"];8360 -> 8475[label="",style="dashed", color="magenta", weight=3]; 8360 -> 8476[label="",style="dashed", color="magenta", weight=3]; 8361 -> 8483[label="",style="dashed", color="red", weight=0]; 8361[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz375))",fontsize=16,color="magenta"];8361 -> 8484[label="",style="dashed", color="magenta", weight=3]; 8361 -> 8485[label="",style="dashed", color="magenta", weight=3]; 8362 -> 8492[label="",style="dashed", color="red", weight=0]; 8362[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz379))",fontsize=16,color="magenta"];8362 -> 8493[label="",style="dashed", color="magenta", weight=3]; 8362 -> 8494[label="",style="dashed", color="magenta", weight=3]; 8363 -> 8501[label="",style="dashed", color="red", weight=0]; 8363[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz379))",fontsize=16,color="magenta"];8363 -> 8502[label="",style="dashed", color="magenta", weight=3]; 8363 -> 8503[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8501[label="",style="dashed", color="red", weight=0]; 8364[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz383))",fontsize=16,color="magenta"];8364 -> 8504[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8505[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8506[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8507[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8508[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8509[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8492[label="",style="dashed", color="red", weight=0]; 8365[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz383))",fontsize=16,color="magenta"];8365 -> 8495[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8496[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8497[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8498[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8499[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8500[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8483[label="",style="dashed", color="red", weight=0]; 8366[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz387))",fontsize=16,color="magenta"];8366 -> 8486[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8487[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8488[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8489[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8490[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8491[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8474[label="",style="dashed", color="red", weight=0]; 8367[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz387))",fontsize=16,color="magenta"];8367 -> 8477[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8478[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8479[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8480[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8481[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8482[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8465[label="",style="dashed", color="red", weight=0]; 8368[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz391))",fontsize=16,color="magenta"];8368 -> 8468[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8469[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8470[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8471[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8472[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8473[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8456[label="",style="dashed", color="red", weight=0]; 8369[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz391))",fontsize=16,color="magenta"];8369 -> 8459[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8460[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8461[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8462[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8463[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8464[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8447[label="",style="dashed", color="red", weight=0]; 8370[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz395))",fontsize=16,color="magenta"];8370 -> 8450[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8451[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8452[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8453[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8454[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8455[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8438[label="",style="dashed", color="red", weight=0]; 8371[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz395))",fontsize=16,color="magenta"];8371 -> 8441[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8442[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8443[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8444[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8445[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8446[label="",style="dashed", color="magenta", weight=3]; 8373[label="primQuotInt (Pos vuz398) (gcd0 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8373 -> 8510[label="",style="solid", color="black", weight=3]; 8374 -> 8511[label="",style="dashed", color="red", weight=0]; 8374[label="primQuotInt (Pos vuz398) (gcd1 (Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8374 -> 8512[label="",style="dashed", color="magenta", weight=3]; 8375 -> 7677[label="",style="dashed", color="red", weight=0]; 8375[label="primQuotInt (primMinusNat vuz4010 vuz4000) (reduce2D (primMinusNat vuz4010 vuz4000) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8375 -> 8513[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8514[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8515[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8516[label="",style="dashed", color="magenta", weight=3]; 8376[label="primQuotInt (Pos (Succ vuz4010)) (reduce2D (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8376 -> 8517[label="",style="solid", color="black", weight=3]; 8377[label="primQuotInt (Neg (Succ vuz4000)) (reduce2D (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8377 -> 8518[label="",style="solid", color="black", weight=3]; 8378[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8378 -> 8519[label="",style="solid", color="black", weight=3]; 8379[label="primQuotInt (Neg (Succ vuz4060)) (gcd (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8379 -> 8520[label="",style="solid", color="black", weight=3]; 8380[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8380 -> 8521[label="",style="solid", color="black", weight=3]; 8381 -> 7691[label="",style="dashed", color="red", weight=0]; 8381[label="primQuotInt (primMinusNat vuz4090 vuz4080) (reduce2D (primMinusNat vuz4090 vuz4080) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8381 -> 8522[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8523[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8524[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8525[label="",style="dashed", color="magenta", weight=3]; 8382[label="primQuotInt (Pos (Succ vuz4090)) (reduce2D (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8382 -> 8526[label="",style="solid", color="black", weight=3]; 8383[label="primQuotInt (Neg (Succ vuz4080)) (reduce2D (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8383 -> 8527[label="",style="solid", color="black", weight=3]; 8384[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8384 -> 8528[label="",style="solid", color="black", weight=3]; 8385[label="primQuotInt (Neg (Succ vuz4140)) (gcd (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8385 -> 8529[label="",style="solid", color="black", weight=3]; 8386[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8386 -> 8530[label="",style="solid", color="black", weight=3]; 8387[label="primQuotInt (Pos vuz416) (gcd0 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8387 -> 8531[label="",style="solid", color="black", weight=3]; 8388 -> 8532[label="",style="dashed", color="red", weight=0]; 8388[label="primQuotInt (Pos vuz416) (gcd1 (Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8388 -> 8533[label="",style="dashed", color="magenta", weight=3]; 8389 -> 7723[label="",style="dashed", color="red", weight=0]; 8389[label="primQuotInt (primMinusNat vuz4190 vuz4180) (reduce2D (primMinusNat vuz4190 vuz4180) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8389 -> 8534[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8535[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8536[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8537[label="",style="dashed", color="magenta", weight=3]; 8390[label="primQuotInt (Pos (Succ vuz4190)) (reduce2D (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8390 -> 8538[label="",style="solid", color="black", weight=3]; 8391[label="primQuotInt (Neg (Succ vuz4180)) (reduce2D (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8391 -> 8539[label="",style="solid", color="black", weight=3]; 8392[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8392 -> 8540[label="",style="solid", color="black", weight=3]; 8393[label="primQuotInt (Neg (Succ vuz4240)) (gcd (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8393 -> 8541[label="",style="solid", color="black", weight=3]; 8394[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8394 -> 8542[label="",style="solid", color="black", weight=3]; 8396[label="primQuotInt (Neg vuz426) (gcd0 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8396 -> 8543[label="",style="solid", color="black", weight=3]; 8397 -> 8544[label="",style="dashed", color="red", weight=0]; 8397[label="primQuotInt (Neg vuz426) (gcd1 (Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8397 -> 8545[label="",style="dashed", color="magenta", weight=3]; 8398[label="primQuotInt (Neg vuz428) (gcd0 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8398 -> 8546[label="",style="solid", color="black", weight=3]; 8399 -> 8547[label="",style="dashed", color="red", weight=0]; 8399[label="primQuotInt (Neg vuz428) (gcd1 (Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8399 -> 8548[label="",style="dashed", color="magenta", weight=3]; 8400 -> 7773[label="",style="dashed", color="red", weight=0]; 8400[label="primQuotInt (primMinusNat vuz4310 vuz4300) (reduce2D (primMinusNat vuz4310 vuz4300) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8400 -> 8549[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8550[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8551[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8552[label="",style="dashed", color="magenta", weight=3]; 8401[label="primQuotInt (Pos (Succ vuz4310)) (reduce2D (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8401 -> 8553[label="",style="solid", color="black", weight=3]; 8402[label="primQuotInt (Neg (Succ vuz4300)) (reduce2D (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8402 -> 8554[label="",style="solid", color="black", weight=3]; 8403[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8403 -> 8555[label="",style="solid", color="black", weight=3]; 8404[label="primQuotInt (Neg (Succ vuz4360)) (gcd (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8404 -> 8556[label="",style="solid", color="black", weight=3]; 8405[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8405 -> 8557[label="",style="solid", color="black", weight=3]; 8406 -> 7787[label="",style="dashed", color="red", weight=0]; 8406[label="primQuotInt (primMinusNat vuz4390 vuz4380) (reduce2D (primMinusNat vuz4390 vuz4380) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8406 -> 8558[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8559[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8560[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8561[label="",style="dashed", color="magenta", weight=3]; 8407[label="primQuotInt (Pos (Succ vuz4390)) (reduce2D (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8407 -> 8562[label="",style="solid", color="black", weight=3]; 8408[label="primQuotInt (Neg (Succ vuz4380)) (reduce2D (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8408 -> 8563[label="",style="solid", color="black", weight=3]; 8409[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8409 -> 8564[label="",style="solid", color="black", weight=3]; 8410[label="primQuotInt (Neg (Succ vuz4440)) (gcd (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8410 -> 8565[label="",style="solid", color="black", weight=3]; 8411[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8411 -> 8566[label="",style="solid", color="black", weight=3]; 8412[label="primQuotInt (Neg vuz446) (gcd0 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8412 -> 8567[label="",style="solid", color="black", weight=3]; 8413 -> 8568[label="",style="dashed", color="red", weight=0]; 8413[label="primQuotInt (Neg vuz446) (gcd1 (Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8413 -> 8569[label="",style="dashed", color="magenta", weight=3]; 8414[label="primQuotInt (Neg vuz348) (gcd0 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8414 -> 8570[label="",style="solid", color="black", weight=3]; 8415 -> 8571[label="",style="dashed", color="red", weight=0]; 8415[label="primQuotInt (Neg vuz348) (gcd1 (Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8415 -> 8572[label="",style="dashed", color="magenta", weight=3]; 8416 -> 7824[label="",style="dashed", color="red", weight=0]; 8416[label="primQuotInt (primMinusNat vuz4490 vuz4480) (reduce2D (primMinusNat vuz4490 vuz4480) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8416 -> 8573[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8574[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8575[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8576[label="",style="dashed", color="magenta", weight=3]; 8417[label="primQuotInt (Pos (Succ vuz4490)) (reduce2D (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8417 -> 8577[label="",style="solid", color="black", weight=3]; 8418[label="primQuotInt (Neg (Succ vuz4480)) (reduce2D (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8418 -> 8578[label="",style="solid", color="black", weight=3]; 8419[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8419 -> 8579[label="",style="solid", color="black", weight=3]; 8420[label="primQuotInt (Neg (Succ vuz4540)) (gcd (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8420 -> 8580[label="",style="solid", color="black", weight=3]; 8421[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8421 -> 8581[label="",style="solid", color="black", weight=3]; 8422[label="primQuotInt (Pos vuz354) (gcd0 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8422 -> 8582[label="",style="solid", color="black", weight=3]; 8423 -> 8583[label="",style="dashed", color="red", weight=0]; 8423[label="primQuotInt (Pos vuz354) (gcd1 (Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8423 -> 8584[label="",style="dashed", color="magenta", weight=3]; 8424 -> 7843[label="",style="dashed", color="red", weight=0]; 8424[label="primQuotInt (primMinusNat vuz4570 vuz4560) (reduce2D (primMinusNat vuz4570 vuz4560) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8424 -> 8585[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8586[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8587[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8588[label="",style="dashed", color="magenta", weight=3]; 8425[label="primQuotInt (Pos (Succ vuz4570)) (reduce2D (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8425 -> 8589[label="",style="solid", color="black", weight=3]; 8426[label="primQuotInt (Neg (Succ vuz4560)) (reduce2D (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8426 -> 8590[label="",style="solid", color="black", weight=3]; 8427[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8427 -> 8591[label="",style="solid", color="black", weight=3]; 8428[label="primQuotInt (Neg (Succ vuz4620)) (gcd (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8428 -> 8592[label="",style="solid", color="black", weight=3]; 8429[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8429 -> 8593[label="",style="solid", color="black", weight=3]; 8430 -> 7857[label="",style="dashed", color="red", weight=0]; 8430[label="primQuotInt (primMinusNat vuz4650 vuz4640) (reduce2D (primMinusNat vuz4650 vuz4640) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8430 -> 8594[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8595[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8596[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8597[label="",style="dashed", color="magenta", weight=3]; 8431[label="primQuotInt (Pos (Succ vuz4650)) (reduce2D (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8431 -> 8598[label="",style="solid", color="black", weight=3]; 8432[label="primQuotInt (Neg (Succ vuz4640)) (reduce2D (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8432 -> 8599[label="",style="solid", color="black", weight=3]; 8433[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8433 -> 8600[label="",style="solid", color="black", weight=3]; 8434[label="primQuotInt (Neg (Succ vuz4700)) (gcd (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8434 -> 8601[label="",style="solid", color="black", weight=3]; 8435[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8435 -> 8602[label="",style="solid", color="black", weight=3]; 8436[label="primQuotInt (Pos vuz360) (gcd0 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8436 -> 8603[label="",style="solid", color="black", weight=3]; 8437 -> 8604[label="",style="dashed", color="red", weight=0]; 8437[label="primQuotInt (Pos vuz360) (gcd1 (Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8437 -> 8605[label="",style="dashed", color="magenta", weight=3]; 8439 -> 7480[label="",style="dashed", color="red", weight=0]; 8439[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8439 -> 8606[label="",style="dashed", color="magenta", weight=3]; 8439 -> 8607[label="",style="dashed", color="magenta", weight=3]; 8440 -> 7480[label="",style="dashed", color="red", weight=0]; 8440[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8440 -> 8608[label="",style="dashed", color="magenta", weight=3]; 8440 -> 8609[label="",style="dashed", color="magenta", weight=3]; 8438[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Pos vuz481)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Pos vuz480)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8438 -> 8610[label="",style="solid", color="black", weight=3]; 8448 -> 7480[label="",style="dashed", color="red", weight=0]; 8448[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8448 -> 8611[label="",style="dashed", color="magenta", weight=3]; 8448 -> 8612[label="",style="dashed", color="magenta", weight=3]; 8449 -> 7480[label="",style="dashed", color="red", weight=0]; 8449[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8449 -> 8613[label="",style="dashed", color="magenta", weight=3]; 8449 -> 8614[label="",style="dashed", color="magenta", weight=3]; 8447[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Neg vuz483)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Neg vuz482)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8447 -> 8615[label="",style="solid", color="black", weight=3]; 8457 -> 7480[label="",style="dashed", color="red", weight=0]; 8457[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8457 -> 8616[label="",style="dashed", color="magenta", weight=3]; 8457 -> 8617[label="",style="dashed", color="magenta", weight=3]; 8458 -> 7480[label="",style="dashed", color="red", weight=0]; 8458[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8458 -> 8618[label="",style="dashed", color="magenta", weight=3]; 8458 -> 8619[label="",style="dashed", color="magenta", weight=3]; 8456[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Pos vuz485)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Pos vuz484)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8456 -> 8620[label="",style="solid", color="black", weight=3]; 8466 -> 7480[label="",style="dashed", color="red", weight=0]; 8466[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8466 -> 8621[label="",style="dashed", color="magenta", weight=3]; 8466 -> 8622[label="",style="dashed", color="magenta", weight=3]; 8467 -> 7480[label="",style="dashed", color="red", weight=0]; 8467[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8467 -> 8623[label="",style="dashed", color="magenta", weight=3]; 8467 -> 8624[label="",style="dashed", color="magenta", weight=3]; 8465[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Neg vuz487)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Neg vuz486)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8465 -> 8625[label="",style="solid", color="black", weight=3]; 8475 -> 7480[label="",style="dashed", color="red", weight=0]; 8475[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8475 -> 8626[label="",style="dashed", color="magenta", weight=3]; 8475 -> 8627[label="",style="dashed", color="magenta", weight=3]; 8476 -> 7480[label="",style="dashed", color="red", weight=0]; 8476[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8476 -> 8628[label="",style="dashed", color="magenta", weight=3]; 8476 -> 8629[label="",style="dashed", color="magenta", weight=3]; 8474[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Pos vuz489)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Pos vuz488)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8474 -> 8630[label="",style="solid", color="black", weight=3]; 8484 -> 7480[label="",style="dashed", color="red", weight=0]; 8484[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8484 -> 8631[label="",style="dashed", color="magenta", weight=3]; 8484 -> 8632[label="",style="dashed", color="magenta", weight=3]; 8485 -> 7480[label="",style="dashed", color="red", weight=0]; 8485[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8485 -> 8633[label="",style="dashed", color="magenta", weight=3]; 8485 -> 8634[label="",style="dashed", color="magenta", weight=3]; 8483[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Neg vuz491)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Neg vuz490)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8483 -> 8635[label="",style="solid", color="black", weight=3]; 8493 -> 7480[label="",style="dashed", color="red", weight=0]; 8493[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8493 -> 8636[label="",style="dashed", color="magenta", weight=3]; 8493 -> 8637[label="",style="dashed", color="magenta", weight=3]; 8494 -> 7480[label="",style="dashed", color="red", weight=0]; 8494[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8494 -> 8638[label="",style="dashed", color="magenta", weight=3]; 8494 -> 8639[label="",style="dashed", color="magenta", weight=3]; 8492[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Pos vuz493)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Pos vuz492)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8492 -> 8640[label="",style="solid", color="black", weight=3]; 8502 -> 7480[label="",style="dashed", color="red", weight=0]; 8502[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8502 -> 8641[label="",style="dashed", color="magenta", weight=3]; 8502 -> 8642[label="",style="dashed", color="magenta", weight=3]; 8503 -> 7480[label="",style="dashed", color="red", weight=0]; 8503[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8503 -> 8643[label="",style="dashed", color="magenta", weight=3]; 8503 -> 8644[label="",style="dashed", color="magenta", weight=3]; 8501[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Neg vuz495)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Neg vuz494)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8501 -> 8645[label="",style="solid", color="black", weight=3]; 8504[label="vuz383",fontsize=16,color="green",shape="box"];8505[label="vuz384",fontsize=16,color="green",shape="box"];8506 -> 7480[label="",style="dashed", color="red", weight=0]; 8506[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8506 -> 8646[label="",style="dashed", color="magenta", weight=3]; 8506 -> 8647[label="",style="dashed", color="magenta", weight=3]; 8507[label="vuz385",fontsize=16,color="green",shape="box"];8508 -> 7480[label="",style="dashed", color="red", weight=0]; 8508[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8508 -> 8648[label="",style="dashed", color="magenta", weight=3]; 8508 -> 8649[label="",style="dashed", color="magenta", weight=3]; 8509[label="vuz382",fontsize=16,color="green",shape="box"];8495[label="vuz383",fontsize=16,color="green",shape="box"];8496[label="vuz384",fontsize=16,color="green",shape="box"];8497[label="vuz385",fontsize=16,color="green",shape="box"];8498 -> 7480[label="",style="dashed", color="red", weight=0]; 8498[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8498 -> 8650[label="",style="dashed", color="magenta", weight=3]; 8498 -> 8651[label="",style="dashed", color="magenta", weight=3]; 8499[label="vuz382",fontsize=16,color="green",shape="box"];8500 -> 7480[label="",style="dashed", color="red", weight=0]; 8500[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8500 -> 8652[label="",style="dashed", color="magenta", weight=3]; 8500 -> 8653[label="",style="dashed", color="magenta", weight=3]; 8486 -> 7480[label="",style="dashed", color="red", weight=0]; 8486[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8486 -> 8654[label="",style="dashed", color="magenta", weight=3]; 8486 -> 8655[label="",style="dashed", color="magenta", weight=3]; 8487[label="vuz387",fontsize=16,color="green",shape="box"];8488[label="vuz388",fontsize=16,color="green",shape="box"];8489[label="vuz386",fontsize=16,color="green",shape="box"];8490[label="vuz389",fontsize=16,color="green",shape="box"];8491 -> 7480[label="",style="dashed", color="red", weight=0]; 8491[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8491 -> 8656[label="",style="dashed", color="magenta", weight=3]; 8491 -> 8657[label="",style="dashed", color="magenta", weight=3]; 8477 -> 7480[label="",style="dashed", color="red", weight=0]; 8477[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8477 -> 8658[label="",style="dashed", color="magenta", weight=3]; 8477 -> 8659[label="",style="dashed", color="magenta", weight=3]; 8478[label="vuz387",fontsize=16,color="green",shape="box"];8479[label="vuz388",fontsize=16,color="green",shape="box"];8480 -> 7480[label="",style="dashed", color="red", weight=0]; 8480[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8480 -> 8660[label="",style="dashed", color="magenta", weight=3]; 8480 -> 8661[label="",style="dashed", color="magenta", weight=3]; 8481[label="vuz386",fontsize=16,color="green",shape="box"];8482[label="vuz389",fontsize=16,color="green",shape="box"];8468[label="vuz392",fontsize=16,color="green",shape="box"];8469 -> 7480[label="",style="dashed", color="red", weight=0]; 8469[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8469 -> 8662[label="",style="dashed", color="magenta", weight=3]; 8469 -> 8663[label="",style="dashed", color="magenta", weight=3]; 8470[label="vuz393",fontsize=16,color="green",shape="box"];8471[label="vuz390",fontsize=16,color="green",shape="box"];8472[label="vuz391",fontsize=16,color="green",shape="box"];8473 -> 7480[label="",style="dashed", color="red", weight=0]; 8473[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8473 -> 8664[label="",style="dashed", color="magenta", weight=3]; 8473 -> 8665[label="",style="dashed", color="magenta", weight=3]; 8459[label="vuz392",fontsize=16,color="green",shape="box"];8460 -> 7480[label="",style="dashed", color="red", weight=0]; 8460[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8460 -> 8666[label="",style="dashed", color="magenta", weight=3]; 8460 -> 8667[label="",style="dashed", color="magenta", weight=3]; 8461[label="vuz393",fontsize=16,color="green",shape="box"];8462[label="vuz390",fontsize=16,color="green",shape="box"];8463[label="vuz391",fontsize=16,color="green",shape="box"];8464 -> 7480[label="",style="dashed", color="red", weight=0]; 8464[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8464 -> 8668[label="",style="dashed", color="magenta", weight=3]; 8464 -> 8669[label="",style="dashed", color="magenta", weight=3]; 8450[label="vuz395",fontsize=16,color="green",shape="box"];8451[label="vuz397",fontsize=16,color="green",shape="box"];8452[label="vuz396",fontsize=16,color="green",shape="box"];8453 -> 7480[label="",style="dashed", color="red", weight=0]; 8453[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8453 -> 8670[label="",style="dashed", color="magenta", weight=3]; 8453 -> 8671[label="",style="dashed", color="magenta", weight=3]; 8454 -> 7480[label="",style="dashed", color="red", weight=0]; 8454[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8454 -> 8672[label="",style="dashed", color="magenta", weight=3]; 8454 -> 8673[label="",style="dashed", color="magenta", weight=3]; 8455[label="vuz394",fontsize=16,color="green",shape="box"];8441 -> 7480[label="",style="dashed", color="red", weight=0]; 8441[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8441 -> 8674[label="",style="dashed", color="magenta", weight=3]; 8441 -> 8675[label="",style="dashed", color="magenta", weight=3]; 8442[label="vuz395",fontsize=16,color="green",shape="box"];8443[label="vuz397",fontsize=16,color="green",shape="box"];8444 -> 7480[label="",style="dashed", color="red", weight=0]; 8444[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8444 -> 8676[label="",style="dashed", color="magenta", weight=3]; 8444 -> 8677[label="",style="dashed", color="magenta", weight=3]; 8445[label="vuz396",fontsize=16,color="green",shape="box"];8446[label="vuz394",fontsize=16,color="green",shape="box"];8510[label="primQuotInt (Pos vuz398) (gcd0Gcd' (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8510 -> 8678[label="",style="solid", color="black", weight=3]; 8512 -> 9987[label="",style="dashed", color="red", weight=0]; 8512[label="Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8512 -> 9997[label="",style="dashed", color="magenta", weight=3]; 8511[label="primQuotInt (Pos vuz398) (gcd1 vuz496 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11047[label="vuz496/False",fontsize=10,color="white",style="solid",shape="box"];8511 -> 11047[label="",style="solid", color="burlywood", weight=9]; 11047 -> 8681[label="",style="solid", color="burlywood", weight=3]; 11048[label="vuz496/True",fontsize=10,color="white",style="solid",shape="box"];8511 -> 11048[label="",style="solid", color="burlywood", weight=9]; 11048 -> 8682[label="",style="solid", color="burlywood", weight=3]; 8513[label="vuz4000",fontsize=16,color="green",shape="box"];8514[label="vuz4010",fontsize=16,color="green",shape="box"];8515[label="vuz4010",fontsize=16,color="green",shape="box"];8516[label="vuz4000",fontsize=16,color="green",shape="box"];8517[label="primQuotInt (Pos (Succ vuz4010)) (gcd (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8517 -> 8683[label="",style="solid", color="black", weight=3]; 8518[label="primQuotInt (Neg (Succ vuz4000)) (gcd (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8518 -> 8684[label="",style="solid", color="black", weight=3]; 8519[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8519 -> 8685[label="",style="solid", color="black", weight=3]; 8520 -> 7809[label="",style="dashed", color="red", weight=0]; 8520[label="primQuotInt (Neg (Succ vuz4060)) (gcd3 (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8520 -> 8686[label="",style="dashed", color="magenta", weight=3]; 8520 -> 8687[label="",style="dashed", color="magenta", weight=3]; 8520 -> 8688[label="",style="dashed", color="magenta", weight=3]; 8521 -> 7713[label="",style="dashed", color="red", weight=0]; 8521[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8521 -> 8689[label="",style="dashed", color="magenta", weight=3]; 8521 -> 8690[label="",style="dashed", color="magenta", weight=3]; 8521 -> 8691[label="",style="dashed", color="magenta", weight=3]; 8522[label="vuz4090",fontsize=16,color="green",shape="box"];8523[label="vuz4080",fontsize=16,color="green",shape="box"];8524[label="vuz4090",fontsize=16,color="green",shape="box"];8525[label="vuz4080",fontsize=16,color="green",shape="box"];8526[label="primQuotInt (Pos (Succ vuz4090)) (gcd (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8526 -> 8692[label="",style="solid", color="black", weight=3]; 8527[label="primQuotInt (Neg (Succ vuz4080)) (gcd (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8527 -> 8693[label="",style="solid", color="black", weight=3]; 8528[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8528 -> 8694[label="",style="solid", color="black", weight=3]; 8529 -> 7587[label="",style="dashed", color="red", weight=0]; 8529[label="primQuotInt (Neg (Succ vuz4140)) (gcd3 (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8529 -> 8695[label="",style="dashed", color="magenta", weight=3]; 8529 -> 8696[label="",style="dashed", color="magenta", weight=3]; 8529 -> 8697[label="",style="dashed", color="magenta", weight=3]; 8530 -> 7667[label="",style="dashed", color="red", weight=0]; 8530[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8530 -> 8698[label="",style="dashed", color="magenta", weight=3]; 8530 -> 8699[label="",style="dashed", color="magenta", weight=3]; 8530 -> 8700[label="",style="dashed", color="magenta", weight=3]; 8531[label="primQuotInt (Pos vuz416) (gcd0Gcd' (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8531 -> 8701[label="",style="solid", color="black", weight=3]; 8533 -> 9987[label="",style="dashed", color="red", weight=0]; 8533[label="Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8533 -> 9998[label="",style="dashed", color="magenta", weight=3]; 8532[label="primQuotInt (Pos vuz416) (gcd1 vuz497 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11049[label="vuz497/False",fontsize=10,color="white",style="solid",shape="box"];8532 -> 11049[label="",style="solid", color="burlywood", weight=9]; 11049 -> 8704[label="",style="solid", color="burlywood", weight=3]; 11050[label="vuz497/True",fontsize=10,color="white",style="solid",shape="box"];8532 -> 11050[label="",style="solid", color="burlywood", weight=9]; 11050 -> 8705[label="",style="solid", color="burlywood", weight=3]; 8534[label="vuz4180",fontsize=16,color="green",shape="box"];8535[label="vuz4190",fontsize=16,color="green",shape="box"];8536[label="vuz4180",fontsize=16,color="green",shape="box"];8537[label="vuz4190",fontsize=16,color="green",shape="box"];8538[label="primQuotInt (Pos (Succ vuz4190)) (gcd (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8538 -> 8706[label="",style="solid", color="black", weight=3]; 8539[label="primQuotInt (Neg (Succ vuz4180)) (gcd (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8539 -> 8707[label="",style="solid", color="black", weight=3]; 8540[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8540 -> 8708[label="",style="solid", color="black", weight=3]; 8541 -> 7763[label="",style="dashed", color="red", weight=0]; 8541[label="primQuotInt (Neg (Succ vuz4240)) (gcd3 (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];8541 -> 8709[label="",style="dashed", color="magenta", weight=3]; 8541 -> 8710[label="",style="dashed", color="magenta", weight=3]; 8541 -> 8711[label="",style="dashed", color="magenta", weight=3]; 8542 -> 7598[label="",style="dashed", color="red", weight=0]; 8542[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];8542 -> 8712[label="",style="dashed", color="magenta", weight=3]; 8542 -> 8713[label="",style="dashed", color="magenta", weight=3]; 8542 -> 8714[label="",style="dashed", color="magenta", weight=3]; 8543[label="primQuotInt (Neg vuz426) (gcd0Gcd' (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8543 -> 8715[label="",style="solid", color="black", weight=3]; 8545 -> 9987[label="",style="dashed", color="red", weight=0]; 8545[label="Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8545 -> 9999[label="",style="dashed", color="magenta", weight=3]; 8544[label="primQuotInt (Neg vuz426) (gcd1 vuz498 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11051[label="vuz498/False",fontsize=10,color="white",style="solid",shape="box"];8544 -> 11051[label="",style="solid", color="burlywood", weight=9]; 11051 -> 8718[label="",style="solid", color="burlywood", weight=3]; 11052[label="vuz498/True",fontsize=10,color="white",style="solid",shape="box"];8544 -> 11052[label="",style="solid", color="burlywood", weight=9]; 11052 -> 8719[label="",style="solid", color="burlywood", weight=3]; 8546[label="primQuotInt (Neg vuz428) (gcd0Gcd' (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8546 -> 8720[label="",style="solid", color="black", weight=3]; 8548 -> 9987[label="",style="dashed", color="red", weight=0]; 8548[label="Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8548 -> 10000[label="",style="dashed", color="magenta", weight=3]; 8547[label="primQuotInt (Neg vuz428) (gcd1 vuz499 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11053[label="vuz499/False",fontsize=10,color="white",style="solid",shape="box"];8547 -> 11053[label="",style="solid", color="burlywood", weight=9]; 11053 -> 8723[label="",style="solid", color="burlywood", weight=3]; 11054[label="vuz499/True",fontsize=10,color="white",style="solid",shape="box"];8547 -> 11054[label="",style="solid", color="burlywood", weight=9]; 11054 -> 8724[label="",style="solid", color="burlywood", weight=3]; 8549[label="vuz4310",fontsize=16,color="green",shape="box"];8550[label="vuz4300",fontsize=16,color="green",shape="box"];8551[label="vuz4300",fontsize=16,color="green",shape="box"];8552[label="vuz4310",fontsize=16,color="green",shape="box"];8553[label="primQuotInt (Pos (Succ vuz4310)) (gcd (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8553 -> 8725[label="",style="solid", color="black", weight=3]; 8554[label="primQuotInt (Neg (Succ vuz4300)) (gcd (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8554 -> 8726[label="",style="solid", color="black", weight=3]; 8555[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8555 -> 8727[label="",style="solid", color="black", weight=3]; 8556 -> 7745[label="",style="dashed", color="red", weight=0]; 8556[label="primQuotInt (Neg (Succ vuz4360)) (gcd3 (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];8556 -> 8728[label="",style="dashed", color="magenta", weight=3]; 8556 -> 8729[label="",style="dashed", color="magenta", weight=3]; 8556 -> 8730[label="",style="dashed", color="magenta", weight=3]; 8557 -> 7613[label="",style="dashed", color="red", weight=0]; 8557[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];8557 -> 8731[label="",style="dashed", color="magenta", weight=3]; 8557 -> 8732[label="",style="dashed", color="magenta", weight=3]; 8557 -> 8733[label="",style="dashed", color="magenta", weight=3]; 8558[label="vuz4390",fontsize=16,color="green",shape="box"];8559[label="vuz4380",fontsize=16,color="green",shape="box"];8560[label="vuz4380",fontsize=16,color="green",shape="box"];8561[label="vuz4390",fontsize=16,color="green",shape="box"];8562[label="primQuotInt (Pos (Succ vuz4390)) (gcd (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8562 -> 8734[label="",style="solid", color="black", weight=3]; 8563[label="primQuotInt (Neg (Succ vuz4380)) (gcd (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8563 -> 8735[label="",style="solid", color="black", weight=3]; 8564[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8564 -> 8736[label="",style="solid", color="black", weight=3]; 8565 -> 7587[label="",style="dashed", color="red", weight=0]; 8565[label="primQuotInt (Neg (Succ vuz4440)) (gcd3 (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];8565 -> 8737[label="",style="dashed", color="magenta", weight=3]; 8565 -> 8738[label="",style="dashed", color="magenta", weight=3]; 8565 -> 8739[label="",style="dashed", color="magenta", weight=3]; 8566 -> 7667[label="",style="dashed", color="red", weight=0]; 8566[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];8566 -> 8740[label="",style="dashed", color="magenta", weight=3]; 8566 -> 8741[label="",style="dashed", color="magenta", weight=3]; 8566 -> 8742[label="",style="dashed", color="magenta", weight=3]; 8567[label="primQuotInt (Neg vuz446) (gcd0Gcd' (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8567 -> 8743[label="",style="solid", color="black", weight=3]; 8569 -> 9987[label="",style="dashed", color="red", weight=0]; 8569[label="Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8569 -> 10001[label="",style="dashed", color="magenta", weight=3]; 8568[label="primQuotInt (Neg vuz446) (gcd1 vuz500 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11055[label="vuz500/False",fontsize=10,color="white",style="solid",shape="box"];8568 -> 11055[label="",style="solid", color="burlywood", weight=9]; 11055 -> 8746[label="",style="solid", color="burlywood", weight=3]; 11056[label="vuz500/True",fontsize=10,color="white",style="solid",shape="box"];8568 -> 11056[label="",style="solid", color="burlywood", weight=9]; 11056 -> 8747[label="",style="solid", color="burlywood", weight=3]; 8570[label="primQuotInt (Neg vuz348) (gcd0Gcd' (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8570 -> 8748[label="",style="solid", color="black", weight=3]; 8572 -> 9987[label="",style="dashed", color="red", weight=0]; 8572[label="Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8572 -> 10002[label="",style="dashed", color="magenta", weight=3]; 8571[label="primQuotInt (Neg vuz348) (gcd1 vuz501 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11057[label="vuz501/False",fontsize=10,color="white",style="solid",shape="box"];8571 -> 11057[label="",style="solid", color="burlywood", weight=9]; 11057 -> 8751[label="",style="solid", color="burlywood", weight=3]; 11058[label="vuz501/True",fontsize=10,color="white",style="solid",shape="box"];8571 -> 11058[label="",style="solid", color="burlywood", weight=9]; 11058 -> 8752[label="",style="solid", color="burlywood", weight=3]; 8573[label="vuz4490",fontsize=16,color="green",shape="box"];8574[label="vuz4490",fontsize=16,color="green",shape="box"];8575[label="vuz4480",fontsize=16,color="green",shape="box"];8576[label="vuz4480",fontsize=16,color="green",shape="box"];8577[label="primQuotInt (Pos (Succ vuz4490)) (gcd (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8577 -> 8753[label="",style="solid", color="black", weight=3]; 8578[label="primQuotInt (Neg (Succ vuz4480)) (gcd (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8578 -> 8754[label="",style="solid", color="black", weight=3]; 8579[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8579 -> 8755[label="",style="solid", color="black", weight=3]; 8580 -> 7809[label="",style="dashed", color="red", weight=0]; 8580[label="primQuotInt (Neg (Succ vuz4540)) (gcd3 (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];8580 -> 8756[label="",style="dashed", color="magenta", weight=3]; 8580 -> 8757[label="",style="dashed", color="magenta", weight=3]; 8580 -> 8758[label="",style="dashed", color="magenta", weight=3]; 8581 -> 7713[label="",style="dashed", color="red", weight=0]; 8581[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];8581 -> 8759[label="",style="dashed", color="magenta", weight=3]; 8581 -> 8760[label="",style="dashed", color="magenta", weight=3]; 8581 -> 8761[label="",style="dashed", color="magenta", weight=3]; 8582[label="primQuotInt (Pos vuz354) (gcd0Gcd' (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8582 -> 8762[label="",style="solid", color="black", weight=3]; 8584 -> 9987[label="",style="dashed", color="red", weight=0]; 8584[label="Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8584 -> 10003[label="",style="dashed", color="magenta", weight=3]; 8583[label="primQuotInt (Pos vuz354) (gcd1 vuz502 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11059[label="vuz502/False",fontsize=10,color="white",style="solid",shape="box"];8583 -> 11059[label="",style="solid", color="burlywood", weight=9]; 11059 -> 8765[label="",style="solid", color="burlywood", weight=3]; 11060[label="vuz502/True",fontsize=10,color="white",style="solid",shape="box"];8583 -> 11060[label="",style="solid", color="burlywood", weight=9]; 11060 -> 8766[label="",style="solid", color="burlywood", weight=3]; 8585[label="vuz4570",fontsize=16,color="green",shape="box"];8586[label="vuz4560",fontsize=16,color="green",shape="box"];8587[label="vuz4560",fontsize=16,color="green",shape="box"];8588[label="vuz4570",fontsize=16,color="green",shape="box"];8589[label="primQuotInt (Pos (Succ vuz4570)) (gcd (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8589 -> 8767[label="",style="solid", color="black", weight=3]; 8590[label="primQuotInt (Neg (Succ vuz4560)) (gcd (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8590 -> 8768[label="",style="solid", color="black", weight=3]; 8591[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8591 -> 8769[label="",style="solid", color="black", weight=3]; 8592 -> 7745[label="",style="dashed", color="red", weight=0]; 8592[label="primQuotInt (Neg (Succ vuz4620)) (gcd3 (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8592 -> 8770[label="",style="dashed", color="magenta", weight=3]; 8592 -> 8771[label="",style="dashed", color="magenta", weight=3]; 8592 -> 8772[label="",style="dashed", color="magenta", weight=3]; 8593 -> 7613[label="",style="dashed", color="red", weight=0]; 8593[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8593 -> 8773[label="",style="dashed", color="magenta", weight=3]; 8593 -> 8774[label="",style="dashed", color="magenta", weight=3]; 8593 -> 8775[label="",style="dashed", color="magenta", weight=3]; 8594[label="vuz4650",fontsize=16,color="green",shape="box"];8595[label="vuz4640",fontsize=16,color="green",shape="box"];8596[label="vuz4640",fontsize=16,color="green",shape="box"];8597[label="vuz4650",fontsize=16,color="green",shape="box"];8598[label="primQuotInt (Pos (Succ vuz4650)) (gcd (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8598 -> 8776[label="",style="solid", color="black", weight=3]; 8599[label="primQuotInt (Neg (Succ vuz4640)) (gcd (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8599 -> 8777[label="",style="solid", color="black", weight=3]; 8600[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8600 -> 8778[label="",style="solid", color="black", weight=3]; 8601 -> 7763[label="",style="dashed", color="red", weight=0]; 8601[label="primQuotInt (Neg (Succ vuz4700)) (gcd3 (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8601 -> 8779[label="",style="dashed", color="magenta", weight=3]; 8601 -> 8780[label="",style="dashed", color="magenta", weight=3]; 8601 -> 8781[label="",style="dashed", color="magenta", weight=3]; 8602 -> 7598[label="",style="dashed", color="red", weight=0]; 8602[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8602 -> 8782[label="",style="dashed", color="magenta", weight=3]; 8602 -> 8783[label="",style="dashed", color="magenta", weight=3]; 8602 -> 8784[label="",style="dashed", color="magenta", weight=3]; 8603[label="primQuotInt (Pos vuz360) (gcd0Gcd' (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8603 -> 8785[label="",style="solid", color="black", weight=3]; 8605 -> 9987[label="",style="dashed", color="red", weight=0]; 8605[label="Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8605 -> 10004[label="",style="dashed", color="magenta", weight=3]; 8604[label="primQuotInt (Pos vuz360) (gcd1 vuz503 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11061[label="vuz503/False",fontsize=10,color="white",style="solid",shape="box"];8604 -> 11061[label="",style="solid", color="burlywood", weight=9]; 11061 -> 8788[label="",style="solid", color="burlywood", weight=3]; 11062[label="vuz503/True",fontsize=10,color="white",style="solid",shape="box"];8604 -> 11062[label="",style="solid", color="burlywood", weight=9]; 11062 -> 8789[label="",style="solid", color="burlywood", weight=3]; 8606[label="vuz3180",fontsize=16,color="green",shape="box"];8607[label="vuz3190",fontsize=16,color="green",shape="box"];8608[label="vuz3180",fontsize=16,color="green",shape="box"];8609[label="vuz3190",fontsize=16,color="green",shape="box"];8610 -> 8790[label="",style="dashed", color="red", weight=0]; 8610[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos (primPlusNat vuz369 vuz481)) (fromInt (Pos Zero))) (Pos (primPlusNat vuz369 vuz481)) (Pos vuz367))",fontsize=16,color="magenta"];8610 -> 8791[label="",style="dashed", color="magenta", weight=3]; 8610 -> 8792[label="",style="dashed", color="magenta", weight=3]; 8611[label="vuz3180",fontsize=16,color="green",shape="box"];8612[label="vuz3190",fontsize=16,color="green",shape="box"];8613[label="vuz3180",fontsize=16,color="green",shape="box"];8614[label="vuz3190",fontsize=16,color="green",shape="box"];8615[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat vuz369 vuz483) (fromInt (Pos Zero))) (primMinusNat vuz369 vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11063[label="vuz369/Succ vuz3690",fontsize=10,color="white",style="solid",shape="box"];8615 -> 11063[label="",style="solid", color="burlywood", weight=9]; 11063 -> 8793[label="",style="solid", color="burlywood", weight=3]; 11064[label="vuz369/Zero",fontsize=10,color="white",style="solid",shape="box"];8615 -> 11064[label="",style="solid", color="burlywood", weight=9]; 11064 -> 8794[label="",style="solid", color="burlywood", weight=3]; 8616[label="vuz3180",fontsize=16,color="green",shape="box"];8617[label="vuz3190",fontsize=16,color="green",shape="box"];8618[label="vuz3180",fontsize=16,color="green",shape="box"];8619[label="vuz3190",fontsize=16,color="green",shape="box"];8620 -> 8615[label="",style="dashed", color="red", weight=0]; 8620[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primMinusNat vuz485 vuz373) (fromInt (Pos Zero))) (primMinusNat vuz485 vuz373) (Pos vuz371))",fontsize=16,color="magenta"];8620 -> 8795[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8796[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8797[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8798[label="",style="dashed", color="magenta", weight=3]; 8621[label="vuz3180",fontsize=16,color="green",shape="box"];8622[label="vuz3190",fontsize=16,color="green",shape="box"];8623[label="vuz3180",fontsize=16,color="green",shape="box"];8624[label="vuz3190",fontsize=16,color="green",shape="box"];8625 -> 8799[label="",style="dashed", color="red", weight=0]; 8625[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (Neg (primPlusNat vuz373 vuz487)) (fromInt (Pos Zero))) (Neg (primPlusNat vuz373 vuz487)) (Pos vuz371))",fontsize=16,color="magenta"];8625 -> 8800[label="",style="dashed", color="magenta", weight=3]; 8625 -> 8801[label="",style="dashed", color="magenta", weight=3]; 8626[label="vuz3180",fontsize=16,color="green",shape="box"];8627[label="vuz3190",fontsize=16,color="green",shape="box"];8628[label="vuz3180",fontsize=16,color="green",shape="box"];8629[label="vuz3190",fontsize=16,color="green",shape="box"];8630[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat vuz489 vuz377) (fromInt (Pos Zero))) (primMinusNat vuz489 vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11065[label="vuz489/Succ vuz4890",fontsize=10,color="white",style="solid",shape="box"];8630 -> 11065[label="",style="solid", color="burlywood", weight=9]; 11065 -> 8802[label="",style="solid", color="burlywood", weight=3]; 11066[label="vuz489/Zero",fontsize=10,color="white",style="solid",shape="box"];8630 -> 11066[label="",style="solid", color="burlywood", weight=9]; 11066 -> 8803[label="",style="solid", color="burlywood", weight=3]; 8631[label="vuz3180",fontsize=16,color="green",shape="box"];8632[label="vuz3190",fontsize=16,color="green",shape="box"];8633[label="vuz3180",fontsize=16,color="green",shape="box"];8634[label="vuz3190",fontsize=16,color="green",shape="box"];8635 -> 8804[label="",style="dashed", color="red", weight=0]; 8635[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Neg (primPlusNat vuz377 vuz491)) (fromInt (Pos Zero))) (Neg (primPlusNat vuz377 vuz491)) (Neg vuz375))",fontsize=16,color="magenta"];8635 -> 8805[label="",style="dashed", color="magenta", weight=3]; 8635 -> 8806[label="",style="dashed", color="magenta", weight=3]; 8636[label="vuz3180",fontsize=16,color="green",shape="box"];8637[label="vuz3190",fontsize=16,color="green",shape="box"];8638[label="vuz3180",fontsize=16,color="green",shape="box"];8639[label="vuz3190",fontsize=16,color="green",shape="box"];8640 -> 8807[label="",style="dashed", color="red", weight=0]; 8640[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (Pos (primPlusNat vuz381 vuz493)) (fromInt (Pos Zero))) (Pos (primPlusNat vuz381 vuz493)) (Neg vuz379))",fontsize=16,color="magenta"];8640 -> 8808[label="",style="dashed", color="magenta", weight=3]; 8640 -> 8809[label="",style="dashed", color="magenta", weight=3]; 8641[label="vuz3180",fontsize=16,color="green",shape="box"];8642[label="vuz3190",fontsize=16,color="green",shape="box"];8643[label="vuz3180",fontsize=16,color="green",shape="box"];8644[label="vuz3190",fontsize=16,color="green",shape="box"];8645 -> 8630[label="",style="dashed", color="red", weight=0]; 8645[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primMinusNat vuz381 vuz495) (fromInt (Pos Zero))) (primMinusNat vuz381 vuz495) (Neg vuz379))",fontsize=16,color="magenta"];8645 -> 8810[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8811[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8812[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8813[label="",style="dashed", color="magenta", weight=3]; 8646[label="vuz3180",fontsize=16,color="green",shape="box"];8647[label="vuz3190",fontsize=16,color="green",shape="box"];8648[label="vuz3180",fontsize=16,color="green",shape="box"];8649[label="vuz3190",fontsize=16,color="green",shape="box"];8650[label="vuz3180",fontsize=16,color="green",shape="box"];8651[label="vuz3190",fontsize=16,color="green",shape="box"];8652[label="vuz3180",fontsize=16,color="green",shape="box"];8653[label="vuz3190",fontsize=16,color="green",shape="box"];8654[label="vuz3180",fontsize=16,color="green",shape="box"];8655[label="vuz3190",fontsize=16,color="green",shape="box"];8656[label="vuz3180",fontsize=16,color="green",shape="box"];8657[label="vuz3190",fontsize=16,color="green",shape="box"];8658[label="vuz3180",fontsize=16,color="green",shape="box"];8659[label="vuz3190",fontsize=16,color="green",shape="box"];8660[label="vuz3180",fontsize=16,color="green",shape="box"];8661[label="vuz3190",fontsize=16,color="green",shape="box"];8662[label="vuz3180",fontsize=16,color="green",shape="box"];8663[label="vuz3190",fontsize=16,color="green",shape="box"];8664[label="vuz3180",fontsize=16,color="green",shape="box"];8665[label="vuz3190",fontsize=16,color="green",shape="box"];8666[label="vuz3180",fontsize=16,color="green",shape="box"];8667[label="vuz3190",fontsize=16,color="green",shape="box"];8668[label="vuz3180",fontsize=16,color="green",shape="box"];8669[label="vuz3190",fontsize=16,color="green",shape="box"];8670[label="vuz3180",fontsize=16,color="green",shape="box"];8671[label="vuz3190",fontsize=16,color="green",shape="box"];8672[label="vuz3180",fontsize=16,color="green",shape="box"];8673[label="vuz3190",fontsize=16,color="green",shape="box"];8674[label="vuz3180",fontsize=16,color="green",shape="box"];8675[label="vuz3190",fontsize=16,color="green",shape="box"];8676[label="vuz3180",fontsize=16,color="green",shape="box"];8677[label="vuz3190",fontsize=16,color="green",shape="box"];8678[label="primQuotInt (Pos vuz398) (gcd0Gcd'2 (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8678 -> 8814[label="",style="solid", color="black", weight=3]; 9997 -> 9988[label="",style="dashed", color="red", weight=0]; 9997[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];9997 -> 10017[label="",style="dashed", color="magenta", weight=3]; 9997 -> 10018[label="",style="dashed", color="magenta", weight=3]; 8681[label="primQuotInt (Pos vuz398) (gcd1 False (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8681 -> 8815[label="",style="solid", color="black", weight=3]; 8682[label="primQuotInt (Pos vuz398) (gcd1 True (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8682 -> 8816[label="",style="solid", color="black", weight=3]; 8683 -> 7713[label="",style="dashed", color="red", weight=0]; 8683[label="primQuotInt (Pos (Succ vuz4010)) (gcd3 (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8683 -> 8817[label="",style="dashed", color="magenta", weight=3]; 8683 -> 8818[label="",style="dashed", color="magenta", weight=3]; 8683 -> 8819[label="",style="dashed", color="magenta", weight=3]; 8684 -> 7809[label="",style="dashed", color="red", weight=0]; 8684[label="primQuotInt (Neg (Succ vuz4000)) (gcd3 (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8684 -> 8820[label="",style="dashed", color="magenta", weight=3]; 8684 -> 8821[label="",style="dashed", color="magenta", weight=3]; 8684 -> 8822[label="",style="dashed", color="magenta", weight=3]; 8685 -> 7713[label="",style="dashed", color="red", weight=0]; 8685[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8685 -> 8823[label="",style="dashed", color="magenta", weight=3]; 8685 -> 8824[label="",style="dashed", color="magenta", weight=3]; 8685 -> 8825[label="",style="dashed", color="magenta", weight=3]; 8686[label="Succ vuz4060",fontsize=16,color="green",shape="box"];8687[label="Zero",fontsize=16,color="green",shape="box"];8688[label="Succ vuz4060",fontsize=16,color="green",shape="box"];8689[label="Zero",fontsize=16,color="green",shape="box"];8690[label="Zero",fontsize=16,color="green",shape="box"];8691[label="Zero",fontsize=16,color="green",shape="box"];8692 -> 7667[label="",style="dashed", color="red", weight=0]; 8692[label="primQuotInt (Pos (Succ vuz4090)) (gcd3 (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8692 -> 8826[label="",style="dashed", color="magenta", weight=3]; 8692 -> 8827[label="",style="dashed", color="magenta", weight=3]; 8692 -> 8828[label="",style="dashed", color="magenta", weight=3]; 8693 -> 7587[label="",style="dashed", color="red", weight=0]; 8693[label="primQuotInt (Neg (Succ vuz4080)) (gcd3 (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8693 -> 8829[label="",style="dashed", color="magenta", weight=3]; 8693 -> 8830[label="",style="dashed", color="magenta", weight=3]; 8693 -> 8831[label="",style="dashed", color="magenta", weight=3]; 8694 -> 7667[label="",style="dashed", color="red", weight=0]; 8694[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8694 -> 8832[label="",style="dashed", color="magenta", weight=3]; 8694 -> 8833[label="",style="dashed", color="magenta", weight=3]; 8694 -> 8834[label="",style="dashed", color="magenta", weight=3]; 8695[label="Succ vuz4140",fontsize=16,color="green",shape="box"];8696[label="Zero",fontsize=16,color="green",shape="box"];8697[label="Succ vuz4140",fontsize=16,color="green",shape="box"];8698[label="Zero",fontsize=16,color="green",shape="box"];8699[label="Zero",fontsize=16,color="green",shape="box"];8700[label="Zero",fontsize=16,color="green",shape="box"];8701[label="primQuotInt (Pos vuz416) (gcd0Gcd'2 (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8701 -> 8835[label="",style="solid", color="black", weight=3]; 9998 -> 9988[label="",style="dashed", color="red", weight=0]; 9998[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];9998 -> 10019[label="",style="dashed", color="magenta", weight=3]; 9998 -> 10020[label="",style="dashed", color="magenta", weight=3]; 8704[label="primQuotInt (Pos vuz416) (gcd1 False (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8704 -> 8836[label="",style="solid", color="black", weight=3]; 8705[label="primQuotInt (Pos vuz416) (gcd1 True (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8705 -> 8837[label="",style="solid", color="black", weight=3]; 8706 -> 7598[label="",style="dashed", color="red", weight=0]; 8706[label="primQuotInt (Pos (Succ vuz4190)) (gcd3 (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8706 -> 8838[label="",style="dashed", color="magenta", weight=3]; 8706 -> 8839[label="",style="dashed", color="magenta", weight=3]; 8706 -> 8840[label="",style="dashed", color="magenta", weight=3]; 8707 -> 7763[label="",style="dashed", color="red", weight=0]; 8707[label="primQuotInt (Neg (Succ vuz4180)) (gcd3 (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8707 -> 8841[label="",style="dashed", color="magenta", weight=3]; 8707 -> 8842[label="",style="dashed", color="magenta", weight=3]; 8707 -> 8843[label="",style="dashed", color="magenta", weight=3]; 8708 -> 7598[label="",style="dashed", color="red", weight=0]; 8708[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8708 -> 8844[label="",style="dashed", color="magenta", weight=3]; 8708 -> 8845[label="",style="dashed", color="magenta", weight=3]; 8708 -> 8846[label="",style="dashed", color="magenta", weight=3]; 8709[label="Succ vuz4240",fontsize=16,color="green",shape="box"];8710[label="Succ vuz4240",fontsize=16,color="green",shape="box"];8711[label="Zero",fontsize=16,color="green",shape="box"];8712[label="Zero",fontsize=16,color="green",shape="box"];8713[label="Zero",fontsize=16,color="green",shape="box"];8714[label="Zero",fontsize=16,color="green",shape="box"];8715[label="primQuotInt (Neg vuz426) (gcd0Gcd'2 (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8715 -> 8847[label="",style="solid", color="black", weight=3]; 9999 -> 9988[label="",style="dashed", color="red", weight=0]; 9999[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];9999 -> 10021[label="",style="dashed", color="magenta", weight=3]; 9999 -> 10022[label="",style="dashed", color="magenta", weight=3]; 8718[label="primQuotInt (Neg vuz426) (gcd1 False (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8718 -> 8848[label="",style="solid", color="black", weight=3]; 8719[label="primQuotInt (Neg vuz426) (gcd1 True (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8719 -> 8849[label="",style="solid", color="black", weight=3]; 8720[label="primQuotInt (Neg vuz428) (gcd0Gcd'2 (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8720 -> 8850[label="",style="solid", color="black", weight=3]; 10000 -> 9988[label="",style="dashed", color="red", weight=0]; 10000[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10000 -> 10023[label="",style="dashed", color="magenta", weight=3]; 10000 -> 10024[label="",style="dashed", color="magenta", weight=3]; 8723[label="primQuotInt (Neg vuz428) (gcd1 False (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8723 -> 8851[label="",style="solid", color="black", weight=3]; 8724[label="primQuotInt (Neg vuz428) (gcd1 True (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8724 -> 8852[label="",style="solid", color="black", weight=3]; 8725 -> 7613[label="",style="dashed", color="red", weight=0]; 8725[label="primQuotInt (Pos (Succ vuz4310)) (gcd3 (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8725 -> 8853[label="",style="dashed", color="magenta", weight=3]; 8725 -> 8854[label="",style="dashed", color="magenta", weight=3]; 8725 -> 8855[label="",style="dashed", color="magenta", weight=3]; 8726 -> 7745[label="",style="dashed", color="red", weight=0]; 8726[label="primQuotInt (Neg (Succ vuz4300)) (gcd3 (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8726 -> 8856[label="",style="dashed", color="magenta", weight=3]; 8726 -> 8857[label="",style="dashed", color="magenta", weight=3]; 8726 -> 8858[label="",style="dashed", color="magenta", weight=3]; 8727 -> 7613[label="",style="dashed", color="red", weight=0]; 8727[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8727 -> 8859[label="",style="dashed", color="magenta", weight=3]; 8727 -> 8860[label="",style="dashed", color="magenta", weight=3]; 8727 -> 8861[label="",style="dashed", color="magenta", weight=3]; 8728[label="Succ vuz4360",fontsize=16,color="green",shape="box"];8729[label="Zero",fontsize=16,color="green",shape="box"];8730[label="Succ vuz4360",fontsize=16,color="green",shape="box"];8731[label="Zero",fontsize=16,color="green",shape="box"];8732[label="Zero",fontsize=16,color="green",shape="box"];8733[label="Zero",fontsize=16,color="green",shape="box"];8734 -> 7667[label="",style="dashed", color="red", weight=0]; 8734[label="primQuotInt (Pos (Succ vuz4390)) (gcd3 (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8734 -> 8862[label="",style="dashed", color="magenta", weight=3]; 8734 -> 8863[label="",style="dashed", color="magenta", weight=3]; 8734 -> 8864[label="",style="dashed", color="magenta", weight=3]; 8735 -> 7587[label="",style="dashed", color="red", weight=0]; 8735[label="primQuotInt (Neg (Succ vuz4380)) (gcd3 (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8735 -> 8865[label="",style="dashed", color="magenta", weight=3]; 8735 -> 8866[label="",style="dashed", color="magenta", weight=3]; 8735 -> 8867[label="",style="dashed", color="magenta", weight=3]; 8736 -> 7667[label="",style="dashed", color="red", weight=0]; 8736[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8736 -> 8868[label="",style="dashed", color="magenta", weight=3]; 8736 -> 8869[label="",style="dashed", color="magenta", weight=3]; 8736 -> 8870[label="",style="dashed", color="magenta", weight=3]; 8737[label="Succ vuz4440",fontsize=16,color="green",shape="box"];8738[label="Zero",fontsize=16,color="green",shape="box"];8739[label="Succ vuz4440",fontsize=16,color="green",shape="box"];8740[label="Zero",fontsize=16,color="green",shape="box"];8741[label="Zero",fontsize=16,color="green",shape="box"];8742[label="Zero",fontsize=16,color="green",shape="box"];8743[label="primQuotInt (Neg vuz446) (gcd0Gcd'2 (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8743 -> 8871[label="",style="solid", color="black", weight=3]; 10001 -> 9988[label="",style="dashed", color="red", weight=0]; 10001[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10001 -> 10025[label="",style="dashed", color="magenta", weight=3]; 10001 -> 10026[label="",style="dashed", color="magenta", weight=3]; 8746[label="primQuotInt (Neg vuz446) (gcd1 False (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8746 -> 8872[label="",style="solid", color="black", weight=3]; 8747[label="primQuotInt (Neg vuz446) (gcd1 True (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8747 -> 8873[label="",style="solid", color="black", weight=3]; 8748[label="primQuotInt (Neg vuz348) (gcd0Gcd'2 (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8748 -> 8874[label="",style="solid", color="black", weight=3]; 10002 -> 9988[label="",style="dashed", color="red", weight=0]; 10002[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10002 -> 10027[label="",style="dashed", color="magenta", weight=3]; 10002 -> 10028[label="",style="dashed", color="magenta", weight=3]; 8751[label="primQuotInt (Neg vuz348) (gcd1 False (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8751 -> 8875[label="",style="solid", color="black", weight=3]; 8752[label="primQuotInt (Neg vuz348) (gcd1 True (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8752 -> 8876[label="",style="solid", color="black", weight=3]; 8753 -> 7713[label="",style="dashed", color="red", weight=0]; 8753[label="primQuotInt (Pos (Succ vuz4490)) (gcd3 (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8753 -> 8877[label="",style="dashed", color="magenta", weight=3]; 8753 -> 8878[label="",style="dashed", color="magenta", weight=3]; 8753 -> 8879[label="",style="dashed", color="magenta", weight=3]; 8754 -> 7809[label="",style="dashed", color="red", weight=0]; 8754[label="primQuotInt (Neg (Succ vuz4480)) (gcd3 (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8754 -> 8880[label="",style="dashed", color="magenta", weight=3]; 8754 -> 8881[label="",style="dashed", color="magenta", weight=3]; 8754 -> 8882[label="",style="dashed", color="magenta", weight=3]; 8755 -> 7713[label="",style="dashed", color="red", weight=0]; 8755[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8755 -> 8883[label="",style="dashed", color="magenta", weight=3]; 8755 -> 8884[label="",style="dashed", color="magenta", weight=3]; 8755 -> 8885[label="",style="dashed", color="magenta", weight=3]; 8756[label="Succ vuz4540",fontsize=16,color="green",shape="box"];8757[label="Zero",fontsize=16,color="green",shape="box"];8758[label="Succ vuz4540",fontsize=16,color="green",shape="box"];8759[label="Zero",fontsize=16,color="green",shape="box"];8760[label="Zero",fontsize=16,color="green",shape="box"];8761[label="Zero",fontsize=16,color="green",shape="box"];8762[label="primQuotInt (Pos vuz354) (gcd0Gcd'2 (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8762 -> 8886[label="",style="solid", color="black", weight=3]; 10003 -> 9988[label="",style="dashed", color="red", weight=0]; 10003[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10003 -> 10029[label="",style="dashed", color="magenta", weight=3]; 10003 -> 10030[label="",style="dashed", color="magenta", weight=3]; 8765[label="primQuotInt (Pos vuz354) (gcd1 False (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8765 -> 8887[label="",style="solid", color="black", weight=3]; 8766[label="primQuotInt (Pos vuz354) (gcd1 True (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8766 -> 8888[label="",style="solid", color="black", weight=3]; 8767 -> 7613[label="",style="dashed", color="red", weight=0]; 8767[label="primQuotInt (Pos (Succ vuz4570)) (gcd3 (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8767 -> 8889[label="",style="dashed", color="magenta", weight=3]; 8767 -> 8890[label="",style="dashed", color="magenta", weight=3]; 8767 -> 8891[label="",style="dashed", color="magenta", weight=3]; 8768 -> 7745[label="",style="dashed", color="red", weight=0]; 8768[label="primQuotInt (Neg (Succ vuz4560)) (gcd3 (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8768 -> 8892[label="",style="dashed", color="magenta", weight=3]; 8768 -> 8893[label="",style="dashed", color="magenta", weight=3]; 8768 -> 8894[label="",style="dashed", color="magenta", weight=3]; 8769 -> 7613[label="",style="dashed", color="red", weight=0]; 8769[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8769 -> 8895[label="",style="dashed", color="magenta", weight=3]; 8769 -> 8896[label="",style="dashed", color="magenta", weight=3]; 8769 -> 8897[label="",style="dashed", color="magenta", weight=3]; 8770[label="Succ vuz4620",fontsize=16,color="green",shape="box"];8771[label="Zero",fontsize=16,color="green",shape="box"];8772[label="Succ vuz4620",fontsize=16,color="green",shape="box"];8773[label="Zero",fontsize=16,color="green",shape="box"];8774[label="Zero",fontsize=16,color="green",shape="box"];8775[label="Zero",fontsize=16,color="green",shape="box"];8776 -> 7598[label="",style="dashed", color="red", weight=0]; 8776[label="primQuotInt (Pos (Succ vuz4650)) (gcd3 (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8776 -> 8898[label="",style="dashed", color="magenta", weight=3]; 8776 -> 8899[label="",style="dashed", color="magenta", weight=3]; 8776 -> 8900[label="",style="dashed", color="magenta", weight=3]; 8777 -> 7763[label="",style="dashed", color="red", weight=0]; 8777[label="primQuotInt (Neg (Succ vuz4640)) (gcd3 (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8777 -> 8901[label="",style="dashed", color="magenta", weight=3]; 8777 -> 8902[label="",style="dashed", color="magenta", weight=3]; 8777 -> 8903[label="",style="dashed", color="magenta", weight=3]; 8778 -> 7598[label="",style="dashed", color="red", weight=0]; 8778[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8778 -> 8904[label="",style="dashed", color="magenta", weight=3]; 8778 -> 8905[label="",style="dashed", color="magenta", weight=3]; 8778 -> 8906[label="",style="dashed", color="magenta", weight=3]; 8779[label="Succ vuz4700",fontsize=16,color="green",shape="box"];8780[label="Succ vuz4700",fontsize=16,color="green",shape="box"];8781[label="Zero",fontsize=16,color="green",shape="box"];8782[label="Zero",fontsize=16,color="green",shape="box"];8783[label="Zero",fontsize=16,color="green",shape="box"];8784[label="Zero",fontsize=16,color="green",shape="box"];8785[label="primQuotInt (Pos vuz360) (gcd0Gcd'2 (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8785 -> 8907[label="",style="solid", color="black", weight=3]; 10004 -> 9988[label="",style="dashed", color="red", weight=0]; 10004[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10004 -> 10031[label="",style="dashed", color="magenta", weight=3]; 10004 -> 10032[label="",style="dashed", color="magenta", weight=3]; 8788[label="primQuotInt (Pos vuz360) (gcd1 False (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8788 -> 8908[label="",style="solid", color="black", weight=3]; 8789[label="primQuotInt (Pos vuz360) (gcd1 True (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8789 -> 8909[label="",style="solid", color="black", weight=3]; 8791 -> 7571[label="",style="dashed", color="red", weight=0]; 8791[label="primPlusNat vuz369 vuz481",fontsize=16,color="magenta"];8791 -> 8910[label="",style="dashed", color="magenta", weight=3]; 8791 -> 8911[label="",style="dashed", color="magenta", weight=3]; 8792 -> 7479[label="",style="dashed", color="red", weight=0]; 8792[label="primEqInt (Pos (primPlusNat vuz369 vuz481)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8792 -> 8912[label="",style="dashed", color="magenta", weight=3]; 8790[label="primQuotInt (Pos vuz366) (gcd2 vuz504 (Pos vuz505) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11067[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8790 -> 11067[label="",style="solid", color="burlywood", weight=9]; 11067 -> 8913[label="",style="solid", color="burlywood", weight=3]; 11068[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8790 -> 11068[label="",style="solid", color="burlywood", weight=9]; 11068 -> 8914[label="",style="solid", color="burlywood", weight=3]; 8793[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) vuz483) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];11069[label="vuz483/Succ vuz4830",fontsize=10,color="white",style="solid",shape="box"];8793 -> 11069[label="",style="solid", color="burlywood", weight=9]; 11069 -> 8915[label="",style="solid", color="burlywood", weight=3]; 11070[label="vuz483/Zero",fontsize=10,color="white",style="solid",shape="box"];8793 -> 11070[label="",style="solid", color="burlywood", weight=9]; 11070 -> 8916[label="",style="solid", color="burlywood", weight=3]; 8794[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero vuz483) (fromInt (Pos Zero))) (primMinusNat Zero vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];11071[label="vuz483/Succ vuz4830",fontsize=10,color="white",style="solid",shape="box"];8794 -> 11071[label="",style="solid", color="burlywood", weight=9]; 11071 -> 8917[label="",style="solid", color="burlywood", weight=3]; 11072[label="vuz483/Zero",fontsize=10,color="white",style="solid",shape="box"];8794 -> 11072[label="",style="solid", color="burlywood", weight=9]; 11072 -> 8918[label="",style="solid", color="burlywood", weight=3]; 8795[label="vuz371",fontsize=16,color="green",shape="box"];8796[label="vuz485",fontsize=16,color="green",shape="box"];8797[label="vuz373",fontsize=16,color="green",shape="box"];8798[label="vuz370",fontsize=16,color="green",shape="box"];8800 -> 7498[label="",style="dashed", color="red", weight=0]; 8800[label="primEqInt (Neg (primPlusNat vuz373 vuz487)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8800 -> 8919[label="",style="dashed", color="magenta", weight=3]; 8801 -> 7571[label="",style="dashed", color="red", weight=0]; 8801[label="primPlusNat vuz373 vuz487",fontsize=16,color="magenta"];8801 -> 8920[label="",style="dashed", color="magenta", weight=3]; 8801 -> 8921[label="",style="dashed", color="magenta", weight=3]; 8799[label="primQuotInt (Pos vuz370) (gcd2 vuz507 (Neg vuz508) (Pos vuz371))",fontsize=16,color="burlywood",shape="triangle"];11073[label="vuz507/False",fontsize=10,color="white",style="solid",shape="box"];8799 -> 11073[label="",style="solid", color="burlywood", weight=9]; 11073 -> 8922[label="",style="solid", color="burlywood", weight=3]; 11074[label="vuz507/True",fontsize=10,color="white",style="solid",shape="box"];8799 -> 11074[label="",style="solid", color="burlywood", weight=9]; 11074 -> 8923[label="",style="solid", color="burlywood", weight=3]; 8802[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) vuz377) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];11075[label="vuz377/Succ vuz3770",fontsize=10,color="white",style="solid",shape="box"];8802 -> 11075[label="",style="solid", color="burlywood", weight=9]; 11075 -> 8924[label="",style="solid", color="burlywood", weight=3]; 11076[label="vuz377/Zero",fontsize=10,color="white",style="solid",shape="box"];8802 -> 11076[label="",style="solid", color="burlywood", weight=9]; 11076 -> 8925[label="",style="solid", color="burlywood", weight=3]; 8803[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero vuz377) (fromInt (Pos Zero))) (primMinusNat Zero vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];11077[label="vuz377/Succ vuz3770",fontsize=10,color="white",style="solid",shape="box"];8803 -> 11077[label="",style="solid", color="burlywood", weight=9]; 11077 -> 8926[label="",style="solid", color="burlywood", weight=3]; 11078[label="vuz377/Zero",fontsize=10,color="white",style="solid",shape="box"];8803 -> 11078[label="",style="solid", color="burlywood", weight=9]; 11078 -> 8927[label="",style="solid", color="burlywood", weight=3]; 8805 -> 7498[label="",style="dashed", color="red", weight=0]; 8805[label="primEqInt (Neg (primPlusNat vuz377 vuz491)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8805 -> 8928[label="",style="dashed", color="magenta", weight=3]; 8806 -> 7571[label="",style="dashed", color="red", weight=0]; 8806[label="primPlusNat vuz377 vuz491",fontsize=16,color="magenta"];8806 -> 8929[label="",style="dashed", color="magenta", weight=3]; 8806 -> 8930[label="",style="dashed", color="magenta", weight=3]; 8804[label="primQuotInt (Neg vuz374) (gcd2 vuz510 (Neg vuz511) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11079[label="vuz510/False",fontsize=10,color="white",style="solid",shape="box"];8804 -> 11079[label="",style="solid", color="burlywood", weight=9]; 11079 -> 8931[label="",style="solid", color="burlywood", weight=3]; 11080[label="vuz510/True",fontsize=10,color="white",style="solid",shape="box"];8804 -> 11080[label="",style="solid", color="burlywood", weight=9]; 11080 -> 8932[label="",style="solid", color="burlywood", weight=3]; 8808 -> 7479[label="",style="dashed", color="red", weight=0]; 8808[label="primEqInt (Pos (primPlusNat vuz381 vuz493)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8808 -> 8933[label="",style="dashed", color="magenta", weight=3]; 8809 -> 7571[label="",style="dashed", color="red", weight=0]; 8809[label="primPlusNat vuz381 vuz493",fontsize=16,color="magenta"];8809 -> 8934[label="",style="dashed", color="magenta", weight=3]; 8809 -> 8935[label="",style="dashed", color="magenta", weight=3]; 8807[label="primQuotInt (Neg vuz378) (gcd2 vuz513 (Pos vuz514) (Neg vuz379))",fontsize=16,color="burlywood",shape="triangle"];11081[label="vuz513/False",fontsize=10,color="white",style="solid",shape="box"];8807 -> 11081[label="",style="solid", color="burlywood", weight=9]; 11081 -> 8936[label="",style="solid", color="burlywood", weight=3]; 11082[label="vuz513/True",fontsize=10,color="white",style="solid",shape="box"];8807 -> 11082[label="",style="solid", color="burlywood", weight=9]; 11082 -> 8937[label="",style="solid", color="burlywood", weight=3]; 8810[label="vuz379",fontsize=16,color="green",shape="box"];8811[label="vuz381",fontsize=16,color="green",shape="box"];8812[label="vuz378",fontsize=16,color="green",shape="box"];8813[label="vuz495",fontsize=16,color="green",shape="box"];8814 -> 9854[label="",style="dashed", color="red", weight=0]; 8814[label="primQuotInt (Pos vuz398) (gcd0Gcd'1 (abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8814 -> 9855[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9856[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9857[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9858[label="",style="dashed", color="magenta", weight=3]; 10017[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10018[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8815 -> 8373[label="",style="dashed", color="red", weight=0]; 8815[label="primQuotInt (Pos vuz398) (gcd0 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8816[label="primQuotInt (Pos vuz398) (error [])",fontsize=16,color="black",shape="triangle"];8816 -> 8939[label="",style="solid", color="black", weight=3]; 8817[label="Succ vuz4010",fontsize=16,color="green",shape="box"];8818[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8819[label="Succ vuz4010",fontsize=16,color="green",shape="box"];8820[label="Succ vuz4000",fontsize=16,color="green",shape="box"];8821[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8822[label="Succ vuz4000",fontsize=16,color="green",shape="box"];8823[label="Zero",fontsize=16,color="green",shape="box"];8824[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8825[label="Zero",fontsize=16,color="green",shape="box"];8826[label="Succ vuz4090",fontsize=16,color="green",shape="box"];8827[label="Succ vuz4090",fontsize=16,color="green",shape="box"];8828[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8829[label="Succ vuz4080",fontsize=16,color="green",shape="box"];8830[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8831[label="Succ vuz4080",fontsize=16,color="green",shape="box"];8832[label="Zero",fontsize=16,color="green",shape="box"];8833[label="Zero",fontsize=16,color="green",shape="box"];8834[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8835 -> 9854[label="",style="dashed", color="red", weight=0]; 8835[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 (abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8835 -> 9859[label="",style="dashed", color="magenta", weight=3]; 8835 -> 9860[label="",style="dashed", color="magenta", weight=3]; 8835 -> 9861[label="",style="dashed", color="magenta", weight=3]; 10019[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10020[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8836 -> 8387[label="",style="dashed", color="red", weight=0]; 8836[label="primQuotInt (Pos vuz416) (gcd0 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8837 -> 8816[label="",style="dashed", color="red", weight=0]; 8837[label="primQuotInt (Pos vuz416) (error [])",fontsize=16,color="magenta"];8837 -> 8941[label="",style="dashed", color="magenta", weight=3]; 8838[label="Succ vuz4190",fontsize=16,color="green",shape="box"];8839[label="Succ vuz4190",fontsize=16,color="green",shape="box"];8840[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8841[label="Succ vuz4180",fontsize=16,color="green",shape="box"];8842[label="Succ vuz4180",fontsize=16,color="green",shape="box"];8843[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8844[label="Zero",fontsize=16,color="green",shape="box"];8845[label="Zero",fontsize=16,color="green",shape="box"];8846[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8847 -> 10039[label="",style="dashed", color="red", weight=0]; 8847[label="primQuotInt (Neg vuz426) (gcd0Gcd'1 (abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8847 -> 10040[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10041[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10042[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10043[label="",style="dashed", color="magenta", weight=3]; 10021[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10022[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8848 -> 8396[label="",style="dashed", color="red", weight=0]; 8848[label="primQuotInt (Neg vuz426) (gcd0 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8849[label="primQuotInt (Neg vuz426) (error [])",fontsize=16,color="black",shape="triangle"];8849 -> 8943[label="",style="solid", color="black", weight=3]; 8850 -> 10039[label="",style="dashed", color="red", weight=0]; 8850[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 (abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8850 -> 10044[label="",style="dashed", color="magenta", weight=3]; 8850 -> 10045[label="",style="dashed", color="magenta", weight=3]; 8850 -> 10046[label="",style="dashed", color="magenta", weight=3]; 10023[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10024[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8851 -> 8398[label="",style="dashed", color="red", weight=0]; 8851[label="primQuotInt (Neg vuz428) (gcd0 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8852 -> 8849[label="",style="dashed", color="red", weight=0]; 8852[label="primQuotInt (Neg vuz428) (error [])",fontsize=16,color="magenta"];8852 -> 8945[label="",style="dashed", color="magenta", weight=3]; 8853[label="Succ vuz4310",fontsize=16,color="green",shape="box"];8854[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8855[label="Succ vuz4310",fontsize=16,color="green",shape="box"];8856[label="Succ vuz4300",fontsize=16,color="green",shape="box"];8857[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8858[label="Succ vuz4300",fontsize=16,color="green",shape="box"];8859[label="Zero",fontsize=16,color="green",shape="box"];8860[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8861[label="Zero",fontsize=16,color="green",shape="box"];8862[label="Succ vuz4390",fontsize=16,color="green",shape="box"];8863[label="Succ vuz4390",fontsize=16,color="green",shape="box"];8864[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8865[label="Succ vuz4380",fontsize=16,color="green",shape="box"];8866[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8867[label="Succ vuz4380",fontsize=16,color="green",shape="box"];8868[label="Zero",fontsize=16,color="green",shape="box"];8869[label="Zero",fontsize=16,color="green",shape="box"];8870[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8871 -> 10039[label="",style="dashed", color="red", weight=0]; 8871[label="primQuotInt (Neg vuz446) (gcd0Gcd'1 (abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8871 -> 10047[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10048[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10049[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10050[label="",style="dashed", color="magenta", weight=3]; 10025[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10026[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8872 -> 8412[label="",style="dashed", color="red", weight=0]; 8872[label="primQuotInt (Neg vuz446) (gcd0 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8873 -> 8849[label="",style="dashed", color="red", weight=0]; 8873[label="primQuotInt (Neg vuz446) (error [])",fontsize=16,color="magenta"];8873 -> 8947[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10039[label="",style="dashed", color="red", weight=0]; 8874[label="primQuotInt (Neg vuz348) (gcd0Gcd'1 (abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8874 -> 10051[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10052[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10053[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10054[label="",style="dashed", color="magenta", weight=3]; 10027[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10028[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8875 -> 8414[label="",style="dashed", color="red", weight=0]; 8875[label="primQuotInt (Neg vuz348) (gcd0 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8876 -> 8849[label="",style="dashed", color="red", weight=0]; 8876[label="primQuotInt (Neg vuz348) (error [])",fontsize=16,color="magenta"];8876 -> 8949[label="",style="dashed", color="magenta", weight=3]; 8877[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8878[label="Succ vuz4490",fontsize=16,color="green",shape="box"];8879[label="Succ vuz4490",fontsize=16,color="green",shape="box"];8880[label="Succ vuz4480",fontsize=16,color="green",shape="box"];8881[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8882[label="Succ vuz4480",fontsize=16,color="green",shape="box"];8883[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8884[label="Zero",fontsize=16,color="green",shape="box"];8885[label="Zero",fontsize=16,color="green",shape="box"];8886 -> 9854[label="",style="dashed", color="red", weight=0]; 8886[label="primQuotInt (Pos vuz354) (gcd0Gcd'1 (abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8886 -> 9862[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9863[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9864[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9865[label="",style="dashed", color="magenta", weight=3]; 10029[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10030[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8887 -> 8422[label="",style="dashed", color="red", weight=0]; 8887[label="primQuotInt (Pos vuz354) (gcd0 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8888 -> 8816[label="",style="dashed", color="red", weight=0]; 8888[label="primQuotInt (Pos vuz354) (error [])",fontsize=16,color="magenta"];8888 -> 8951[label="",style="dashed", color="magenta", weight=3]; 8889[label="Succ vuz4570",fontsize=16,color="green",shape="box"];8890[label="Succ vuz4570",fontsize=16,color="green",shape="box"];8891[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8892[label="Succ vuz4560",fontsize=16,color="green",shape="box"];8893[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8894[label="Succ vuz4560",fontsize=16,color="green",shape="box"];8895[label="Zero",fontsize=16,color="green",shape="box"];8896[label="Zero",fontsize=16,color="green",shape="box"];8897[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8898[label="Succ vuz4650",fontsize=16,color="green",shape="box"];8899[label="Succ vuz4650",fontsize=16,color="green",shape="box"];8900[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8901[label="Succ vuz4640",fontsize=16,color="green",shape="box"];8902[label="Succ vuz4640",fontsize=16,color="green",shape="box"];8903[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8904[label="Zero",fontsize=16,color="green",shape="box"];8905[label="Zero",fontsize=16,color="green",shape="box"];8906[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8907 -> 9854[label="",style="dashed", color="red", weight=0]; 8907[label="primQuotInt (Pos vuz360) (gcd0Gcd'1 (abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8907 -> 9866[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9867[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9868[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9869[label="",style="dashed", color="magenta", weight=3]; 10031[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10032[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8908 -> 8436[label="",style="dashed", color="red", weight=0]; 8908[label="primQuotInt (Pos vuz360) (gcd0 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8909 -> 8816[label="",style="dashed", color="red", weight=0]; 8909[label="primQuotInt (Pos vuz360) (error [])",fontsize=16,color="magenta"];8909 -> 8953[label="",style="dashed", color="magenta", weight=3]; 8910[label="vuz369",fontsize=16,color="green",shape="box"];8911[label="vuz481",fontsize=16,color="green",shape="box"];8912 -> 7571[label="",style="dashed", color="red", weight=0]; 8912[label="primPlusNat vuz369 vuz481",fontsize=16,color="magenta"];8912 -> 8954[label="",style="dashed", color="magenta", weight=3]; 8912 -> 8955[label="",style="dashed", color="magenta", weight=3]; 7479[label="primEqInt (Pos vuz325) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];11083[label="vuz325/Succ vuz3250",fontsize=10,color="white",style="solid",shape="box"];7479 -> 11083[label="",style="solid", color="burlywood", weight=9]; 11083 -> 7494[label="",style="solid", color="burlywood", weight=3]; 11084[label="vuz325/Zero",fontsize=10,color="white",style="solid",shape="box"];7479 -> 11084[label="",style="solid", color="burlywood", weight=9]; 11084 -> 7495[label="",style="solid", color="burlywood", weight=3]; 8913[label="primQuotInt (Pos vuz366) (gcd2 False (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];8913 -> 8956[label="",style="solid", color="black", weight=3]; 8914[label="primQuotInt (Pos vuz366) (gcd2 True (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];8914 -> 8957[label="",style="solid", color="black", weight=3]; 8915[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) (Succ vuz4830)) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="black",shape="box"];8915 -> 8958[label="",style="solid", color="black", weight=3]; 8916[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) Zero) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) Zero) (Pos vuz367))",fontsize=16,color="black",shape="box"];8916 -> 8959[label="",style="solid", color="black", weight=3]; 8917[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero (Succ vuz4830)) (fromInt (Pos Zero))) (primMinusNat Zero (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="black",shape="box"];8917 -> 8960[label="",style="solid", color="black", weight=3]; 8918[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) (primMinusNat Zero Zero) (Pos vuz367))",fontsize=16,color="black",shape="box"];8918 -> 8961[label="",style="solid", color="black", weight=3]; 8919 -> 7571[label="",style="dashed", color="red", weight=0]; 8919[label="primPlusNat vuz373 vuz487",fontsize=16,color="magenta"];8919 -> 8962[label="",style="dashed", color="magenta", weight=3]; 8919 -> 8963[label="",style="dashed", color="magenta", weight=3]; 7498[label="primEqInt (Neg vuz326) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];11085[label="vuz326/Succ vuz3260",fontsize=10,color="white",style="solid",shape="box"];7498 -> 11085[label="",style="solid", color="burlywood", weight=9]; 11085 -> 7512[label="",style="solid", color="burlywood", weight=3]; 11086[label="vuz326/Zero",fontsize=10,color="white",style="solid",shape="box"];7498 -> 11086[label="",style="solid", color="burlywood", weight=9]; 11086 -> 7513[label="",style="solid", color="burlywood", weight=3]; 8920[label="vuz373",fontsize=16,color="green",shape="box"];8921[label="vuz487",fontsize=16,color="green",shape="box"];8922[label="primQuotInt (Pos vuz370) (gcd2 False (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];8922 -> 8964[label="",style="solid", color="black", weight=3]; 8923[label="primQuotInt (Pos vuz370) (gcd2 True (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];8923 -> 8965[label="",style="solid", color="black", weight=3]; 8924[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) (Succ vuz3770)) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="black",shape="box"];8924 -> 8966[label="",style="solid", color="black", weight=3]; 8925[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) Zero) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) Zero) (Neg vuz375))",fontsize=16,color="black",shape="box"];8925 -> 8967[label="",style="solid", color="black", weight=3]; 8926[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero (Succ vuz3770)) (fromInt (Pos Zero))) (primMinusNat Zero (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="black",shape="box"];8926 -> 8968[label="",style="solid", color="black", weight=3]; 8927[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) (primMinusNat Zero Zero) (Neg vuz375))",fontsize=16,color="black",shape="box"];8927 -> 8969[label="",style="solid", color="black", weight=3]; 8928 -> 7571[label="",style="dashed", color="red", weight=0]; 8928[label="primPlusNat vuz377 vuz491",fontsize=16,color="magenta"];8928 -> 8970[label="",style="dashed", color="magenta", weight=3]; 8928 -> 8971[label="",style="dashed", color="magenta", weight=3]; 8929[label="vuz377",fontsize=16,color="green",shape="box"];8930[label="vuz491",fontsize=16,color="green",shape="box"];8931[label="primQuotInt (Neg vuz374) (gcd2 False (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];8931 -> 8972[label="",style="solid", color="black", weight=3]; 8932[label="primQuotInt (Neg vuz374) (gcd2 True (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];8932 -> 8973[label="",style="solid", color="black", weight=3]; 8933 -> 7571[label="",style="dashed", color="red", weight=0]; 8933[label="primPlusNat vuz381 vuz493",fontsize=16,color="magenta"];8933 -> 8974[label="",style="dashed", color="magenta", weight=3]; 8933 -> 8975[label="",style="dashed", color="magenta", weight=3]; 8934[label="vuz381",fontsize=16,color="green",shape="box"];8935[label="vuz493",fontsize=16,color="green",shape="box"];8936[label="primQuotInt (Neg vuz378) (gcd2 False (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];8936 -> 8976[label="",style="solid", color="black", weight=3]; 8937[label="primQuotInt (Neg vuz378) (gcd2 True (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];8937 -> 8977[label="",style="solid", color="black", weight=3]; 9855 -> 9987[label="",style="dashed", color="red", weight=0]; 9855[label="abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9855 -> 10005[label="",style="dashed", color="magenta", weight=3]; 9856[label="vuz398",fontsize=16,color="green",shape="box"];9857[label="abs (Pos vuz399)",fontsize=16,color="black",shape="triangle"];9857 -> 10033[label="",style="solid", color="black", weight=3]; 9858 -> 9366[label="",style="dashed", color="red", weight=0]; 9858[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];9854[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 vuz550 vuz549 vuz542)",fontsize=16,color="burlywood",shape="triangle"];11087[label="vuz550/False",fontsize=10,color="white",style="solid",shape="box"];9854 -> 11087[label="",style="solid", color="burlywood", weight=9]; 11087 -> 10034[label="",style="solid", color="burlywood", weight=3]; 11088[label="vuz550/True",fontsize=10,color="white",style="solid",shape="box"];9854 -> 11088[label="",style="solid", color="burlywood", weight=9]; 11088 -> 10035[label="",style="solid", color="burlywood", weight=3]; 8939[label="error []",fontsize=16,color="red",shape="box"];9859 -> 9987[label="",style="dashed", color="red", weight=0]; 9859[label="abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9859 -> 10006[label="",style="dashed", color="magenta", weight=3]; 9860 -> 9857[label="",style="dashed", color="red", weight=0]; 9860[label="abs (Pos vuz417)",fontsize=16,color="magenta"];9860 -> 10036[label="",style="dashed", color="magenta", weight=3]; 9861 -> 9369[label="",style="dashed", color="red", weight=0]; 9861[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];8941[label="vuz416",fontsize=16,color="green",shape="box"];10040[label="vuz426",fontsize=16,color="green",shape="box"];10041 -> 9376[label="",style="dashed", color="red", weight=0]; 10041[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10042[label="abs (Neg vuz427)",fontsize=16,color="black",shape="triangle"];10042 -> 10172[label="",style="solid", color="black", weight=3]; 10043 -> 9987[label="",style="dashed", color="red", weight=0]; 10043[label="abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10043 -> 10173[label="",style="dashed", color="magenta", weight=3]; 10039[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 vuz553 vuz552 vuz544)",fontsize=16,color="burlywood",shape="triangle"];11089[label="vuz553/False",fontsize=10,color="white",style="solid",shape="box"];10039 -> 11089[label="",style="solid", color="burlywood", weight=9]; 11089 -> 10174[label="",style="solid", color="burlywood", weight=3]; 11090[label="vuz553/True",fontsize=10,color="white",style="solid",shape="box"];10039 -> 11090[label="",style="solid", color="burlywood", weight=9]; 11090 -> 10175[label="",style="solid", color="burlywood", weight=3]; 8943[label="error []",fontsize=16,color="red",shape="box"];10044 -> 9372[label="",style="dashed", color="red", weight=0]; 10044[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10045 -> 10042[label="",style="dashed", color="red", weight=0]; 10045[label="abs (Neg vuz429)",fontsize=16,color="magenta"];10045 -> 10176[label="",style="dashed", color="magenta", weight=3]; 10046 -> 9987[label="",style="dashed", color="red", weight=0]; 10046[label="abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10046 -> 10177[label="",style="dashed", color="magenta", weight=3]; 8945[label="vuz428",fontsize=16,color="green",shape="box"];10047[label="vuz446",fontsize=16,color="green",shape="box"];10048 -> 9369[label="",style="dashed", color="red", weight=0]; 10048[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10049 -> 10042[label="",style="dashed", color="red", weight=0]; 10049[label="abs (Neg vuz447)",fontsize=16,color="magenta"];10049 -> 10178[label="",style="dashed", color="magenta", weight=3]; 10050 -> 9987[label="",style="dashed", color="red", weight=0]; 10050[label="abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10050 -> 10179[label="",style="dashed", color="magenta", weight=3]; 8947[label="vuz446",fontsize=16,color="green",shape="box"];10051[label="vuz348",fontsize=16,color="green",shape="box"];10052 -> 9366[label="",style="dashed", color="red", weight=0]; 10052[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10053 -> 10042[label="",style="dashed", color="red", weight=0]; 10053[label="abs (Neg vuz349)",fontsize=16,color="magenta"];10053 -> 10180[label="",style="dashed", color="magenta", weight=3]; 10054 -> 9987[label="",style="dashed", color="red", weight=0]; 10054[label="abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10054 -> 10181[label="",style="dashed", color="magenta", weight=3]; 8949[label="vuz348",fontsize=16,color="green",shape="box"];9862 -> 9987[label="",style="dashed", color="red", weight=0]; 9862[label="abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9862 -> 10007[label="",style="dashed", color="magenta", weight=3]; 9863[label="vuz354",fontsize=16,color="green",shape="box"];9864 -> 9857[label="",style="dashed", color="red", weight=0]; 9864[label="abs (Pos vuz355)",fontsize=16,color="magenta"];9864 -> 10037[label="",style="dashed", color="magenta", weight=3]; 9865 -> 9372[label="",style="dashed", color="red", weight=0]; 9865[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];8951[label="vuz354",fontsize=16,color="green",shape="box"];9866 -> 9987[label="",style="dashed", color="red", weight=0]; 9866[label="abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9866 -> 10008[label="",style="dashed", color="magenta", weight=3]; 9867[label="vuz360",fontsize=16,color="green",shape="box"];9868 -> 9857[label="",style="dashed", color="red", weight=0]; 9868[label="abs (Pos vuz361)",fontsize=16,color="magenta"];9868 -> 10038[label="",style="dashed", color="magenta", weight=3]; 9869 -> 9376[label="",style="dashed", color="red", weight=0]; 9869[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];8953[label="vuz360",fontsize=16,color="green",shape="box"];8954[label="vuz369",fontsize=16,color="green",shape="box"];8955[label="vuz481",fontsize=16,color="green",shape="box"];7494[label="primEqInt (Pos (Succ vuz3250)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7494 -> 7519[label="",style="solid", color="black", weight=3]; 7495[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7495 -> 7520[label="",style="solid", color="black", weight=3]; 8956[label="primQuotInt (Pos vuz366) (gcd0 (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8956 -> 8986[label="",style="solid", color="black", weight=3]; 8957 -> 8987[label="",style="dashed", color="red", weight=0]; 8957[label="primQuotInt (Pos vuz366) (gcd1 (Pos vuz367 == fromInt (Pos Zero)) (Pos vuz505) (Pos vuz367))",fontsize=16,color="magenta"];8957 -> 8988[label="",style="dashed", color="magenta", weight=3]; 8958 -> 8615[label="",style="dashed", color="red", weight=0]; 8958[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat vuz3690 vuz4830) (fromInt (Pos Zero))) (primMinusNat vuz3690 vuz4830) (Pos vuz367))",fontsize=16,color="magenta"];8958 -> 8989[label="",style="dashed", color="magenta", weight=3]; 8958 -> 8990[label="",style="dashed", color="magenta", weight=3]; 8959 -> 8790[label="",style="dashed", color="red", weight=0]; 8959[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos (Succ vuz3690)) (fromInt (Pos Zero))) (Pos (Succ vuz3690)) (Pos vuz367))",fontsize=16,color="magenta"];8959 -> 8991[label="",style="dashed", color="magenta", weight=3]; 8959 -> 8992[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8799[label="",style="dashed", color="red", weight=0]; 8960[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Neg (Succ vuz4830)) (fromInt (Pos Zero))) (Neg (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="magenta"];8960 -> 8993[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8994[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8995[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8996[label="",style="dashed", color="magenta", weight=3]; 8961 -> 8790[label="",style="dashed", color="red", weight=0]; 8961[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz367))",fontsize=16,color="magenta"];8961 -> 8997[label="",style="dashed", color="magenta", weight=3]; 8961 -> 8998[label="",style="dashed", color="magenta", weight=3]; 8962[label="vuz373",fontsize=16,color="green",shape="box"];8963[label="vuz487",fontsize=16,color="green",shape="box"];7512[label="primEqInt (Neg (Succ vuz3260)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7512 -> 7526[label="",style="solid", color="black", weight=3]; 7513[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7513 -> 7527[label="",style="solid", color="black", weight=3]; 8964[label="primQuotInt (Pos vuz370) (gcd0 (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8964 -> 8999[label="",style="solid", color="black", weight=3]; 8965 -> 9000[label="",style="dashed", color="red", weight=0]; 8965[label="primQuotInt (Pos vuz370) (gcd1 (Pos vuz371 == fromInt (Pos Zero)) (Neg vuz508) (Pos vuz371))",fontsize=16,color="magenta"];8965 -> 9001[label="",style="dashed", color="magenta", weight=3]; 8966 -> 8630[label="",style="dashed", color="red", weight=0]; 8966[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat vuz4890 vuz3770) (fromInt (Pos Zero))) (primMinusNat vuz4890 vuz3770) (Neg vuz375))",fontsize=16,color="magenta"];8966 -> 9002[label="",style="dashed", color="magenta", weight=3]; 8966 -> 9003[label="",style="dashed", color="magenta", weight=3]; 8967 -> 8807[label="",style="dashed", color="red", weight=0]; 8967[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Pos (Succ vuz4890)) (fromInt (Pos Zero))) (Pos (Succ vuz4890)) (Neg vuz375))",fontsize=16,color="magenta"];8967 -> 9004[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9005[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9006[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9007[label="",style="dashed", color="magenta", weight=3]; 8968 -> 8804[label="",style="dashed", color="red", weight=0]; 8968[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Neg (Succ vuz3770)) (fromInt (Pos Zero))) (Neg (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="magenta"];8968 -> 9008[label="",style="dashed", color="magenta", weight=3]; 8968 -> 9009[label="",style="dashed", color="magenta", weight=3]; 8969 -> 8807[label="",style="dashed", color="red", weight=0]; 8969[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Neg vuz375))",fontsize=16,color="magenta"];8969 -> 9010[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9011[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9012[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9013[label="",style="dashed", color="magenta", weight=3]; 8970[label="vuz377",fontsize=16,color="green",shape="box"];8971[label="vuz491",fontsize=16,color="green",shape="box"];8972[label="primQuotInt (Neg vuz374) (gcd0 (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8972 -> 9014[label="",style="solid", color="black", weight=3]; 8973 -> 9015[label="",style="dashed", color="red", weight=0]; 8973[label="primQuotInt (Neg vuz374) (gcd1 (Neg vuz375 == fromInt (Pos Zero)) (Neg vuz511) (Neg vuz375))",fontsize=16,color="magenta"];8973 -> 9016[label="",style="dashed", color="magenta", weight=3]; 8974[label="vuz381",fontsize=16,color="green",shape="box"];8975[label="vuz493",fontsize=16,color="green",shape="box"];8976[label="primQuotInt (Neg vuz378) (gcd0 (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8976 -> 9017[label="",style="solid", color="black", weight=3]; 8977 -> 9018[label="",style="dashed", color="red", weight=0]; 8977[label="primQuotInt (Neg vuz378) (gcd1 (Neg vuz379 == fromInt (Pos Zero)) (Pos vuz514) (Neg vuz379))",fontsize=16,color="magenta"];8977 -> 9019[label="",style="dashed", color="magenta", weight=3]; 10005 -> 9366[label="",style="dashed", color="red", weight=0]; 10005[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10033[label="absReal (Pos vuz399)",fontsize=16,color="black",shape="box"];10033 -> 10182[label="",style="solid", color="black", weight=3]; 9366[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="triangle"];9366 -> 9585[label="",style="solid", color="black", weight=3]; 10034[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 False vuz549 vuz542)",fontsize=16,color="black",shape="box"];10034 -> 10183[label="",style="solid", color="black", weight=3]; 10035[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 True vuz549 vuz542)",fontsize=16,color="black",shape="box"];10035 -> 10184[label="",style="solid", color="black", weight=3]; 10006 -> 9369[label="",style="dashed", color="red", weight=0]; 10006[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10036[label="vuz417",fontsize=16,color="green",shape="box"];9369[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="triangle"];9369 -> 9588[label="",style="solid", color="black", weight=3]; 9376[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="triangle"];9376 -> 9590[label="",style="solid", color="black", weight=3]; 10172[label="absReal (Neg vuz427)",fontsize=16,color="black",shape="box"];10172 -> 10202[label="",style="solid", color="black", weight=3]; 10173 -> 9376[label="",style="dashed", color="red", weight=0]; 10173[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10174[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 False vuz552 vuz544)",fontsize=16,color="black",shape="box"];10174 -> 10203[label="",style="solid", color="black", weight=3]; 10175[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 True vuz552 vuz544)",fontsize=16,color="black",shape="box"];10175 -> 10204[label="",style="solid", color="black", weight=3]; 9372[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="triangle"];9372 -> 9589[label="",style="solid", color="black", weight=3]; 10176[label="vuz429",fontsize=16,color="green",shape="box"];10177 -> 9372[label="",style="dashed", color="red", weight=0]; 10177[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10178[label="vuz447",fontsize=16,color="green",shape="box"];10179 -> 9369[label="",style="dashed", color="red", weight=0]; 10179[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10180[label="vuz349",fontsize=16,color="green",shape="box"];10181 -> 9366[label="",style="dashed", color="red", weight=0]; 10181[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10007 -> 9372[label="",style="dashed", color="red", weight=0]; 10007[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10037[label="vuz355",fontsize=16,color="green",shape="box"];10008 -> 9376[label="",style="dashed", color="red", weight=0]; 10008[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10038[label="vuz361",fontsize=16,color="green",shape="box"];8986[label="primQuotInt (Pos vuz366) (gcd0Gcd' (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="black",shape="box"];8986 -> 9028[label="",style="solid", color="black", weight=3]; 8988 -> 9987[label="",style="dashed", color="red", weight=0]; 8988[label="Pos vuz367 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8988 -> 10009[label="",style="dashed", color="magenta", weight=3]; 8987[label="primQuotInt (Pos vuz366) (gcd1 vuz516 (Pos vuz505) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11091[label="vuz516/False",fontsize=10,color="white",style="solid",shape="box"];8987 -> 11091[label="",style="solid", color="burlywood", weight=9]; 11091 -> 9030[label="",style="solid", color="burlywood", weight=3]; 11092[label="vuz516/True",fontsize=10,color="white",style="solid",shape="box"];8987 -> 11092[label="",style="solid", color="burlywood", weight=9]; 11092 -> 9031[label="",style="solid", color="burlywood", weight=3]; 8989[label="vuz3690",fontsize=16,color="green",shape="box"];8990[label="vuz4830",fontsize=16,color="green",shape="box"];8991[label="Succ vuz3690",fontsize=16,color="green",shape="box"];8992 -> 7479[label="",style="dashed", color="red", weight=0]; 8992[label="primEqInt (Pos (Succ vuz3690)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8992 -> 9032[label="",style="dashed", color="magenta", weight=3]; 8993 -> 7498[label="",style="dashed", color="red", weight=0]; 8993[label="primEqInt (Neg (Succ vuz4830)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8993 -> 9033[label="",style="dashed", color="magenta", weight=3]; 8994[label="Succ vuz4830",fontsize=16,color="green",shape="box"];8995[label="vuz366",fontsize=16,color="green",shape="box"];8996[label="vuz367",fontsize=16,color="green",shape="box"];8997[label="Zero",fontsize=16,color="green",shape="box"];8998 -> 7479[label="",style="dashed", color="red", weight=0]; 8998[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8998 -> 9034[label="",style="dashed", color="magenta", weight=3]; 8999[label="primQuotInt (Pos vuz370) (gcd0Gcd' (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="black",shape="box"];8999 -> 9035[label="",style="solid", color="black", weight=3]; 9001 -> 9987[label="",style="dashed", color="red", weight=0]; 9001[label="Pos vuz371 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9001 -> 10010[label="",style="dashed", color="magenta", weight=3]; 9000[label="primQuotInt (Pos vuz370) (gcd1 vuz517 (Neg vuz508) (Pos vuz371))",fontsize=16,color="burlywood",shape="triangle"];11093[label="vuz517/False",fontsize=10,color="white",style="solid",shape="box"];9000 -> 11093[label="",style="solid", color="burlywood", weight=9]; 11093 -> 9037[label="",style="solid", color="burlywood", weight=3]; 11094[label="vuz517/True",fontsize=10,color="white",style="solid",shape="box"];9000 -> 11094[label="",style="solid", color="burlywood", weight=9]; 11094 -> 9038[label="",style="solid", color="burlywood", weight=3]; 9002[label="vuz4890",fontsize=16,color="green",shape="box"];9003[label="vuz3770",fontsize=16,color="green",shape="box"];9004[label="vuz375",fontsize=16,color="green",shape="box"];9005 -> 7479[label="",style="dashed", color="red", weight=0]; 9005[label="primEqInt (Pos (Succ vuz4890)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9005 -> 9039[label="",style="dashed", color="magenta", weight=3]; 9006[label="Succ vuz4890",fontsize=16,color="green",shape="box"];9007[label="vuz374",fontsize=16,color="green",shape="box"];9008 -> 7498[label="",style="dashed", color="red", weight=0]; 9008[label="primEqInt (Neg (Succ vuz3770)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9008 -> 9040[label="",style="dashed", color="magenta", weight=3]; 9009[label="Succ vuz3770",fontsize=16,color="green",shape="box"];9010[label="vuz375",fontsize=16,color="green",shape="box"];9011 -> 7479[label="",style="dashed", color="red", weight=0]; 9011[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9011 -> 9041[label="",style="dashed", color="magenta", weight=3]; 9012[label="Zero",fontsize=16,color="green",shape="box"];9013[label="vuz374",fontsize=16,color="green",shape="box"];9014[label="primQuotInt (Neg vuz374) (gcd0Gcd' (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="black",shape="box"];9014 -> 9042[label="",style="solid", color="black", weight=3]; 9016 -> 9987[label="",style="dashed", color="red", weight=0]; 9016[label="Neg vuz375 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9016 -> 10011[label="",style="dashed", color="magenta", weight=3]; 9015[label="primQuotInt (Neg vuz374) (gcd1 vuz518 (Neg vuz511) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11095[label="vuz518/False",fontsize=10,color="white",style="solid",shape="box"];9015 -> 11095[label="",style="solid", color="burlywood", weight=9]; 11095 -> 9044[label="",style="solid", color="burlywood", weight=3]; 11096[label="vuz518/True",fontsize=10,color="white",style="solid",shape="box"];9015 -> 11096[label="",style="solid", color="burlywood", weight=9]; 11096 -> 9045[label="",style="solid", color="burlywood", weight=3]; 9017[label="primQuotInt (Neg vuz378) (gcd0Gcd' (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="black",shape="box"];9017 -> 9046[label="",style="solid", color="black", weight=3]; 9019 -> 9987[label="",style="dashed", color="red", weight=0]; 9019[label="Neg vuz379 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9019 -> 10012[label="",style="dashed", color="magenta", weight=3]; 9018[label="primQuotInt (Neg vuz378) (gcd1 vuz519 (Pos vuz514) (Neg vuz379))",fontsize=16,color="burlywood",shape="triangle"];11097[label="vuz519/False",fontsize=10,color="white",style="solid",shape="box"];9018 -> 11097[label="",style="solid", color="burlywood", weight=9]; 11097 -> 9048[label="",style="solid", color="burlywood", weight=3]; 11098[label="vuz519/True",fontsize=10,color="white",style="solid",shape="box"];9018 -> 11098[label="",style="solid", color="burlywood", weight=9]; 11098 -> 9049[label="",style="solid", color="burlywood", weight=3]; 10182[label="absReal2 (Pos vuz399)",fontsize=16,color="black",shape="box"];10182 -> 10205[label="",style="solid", color="black", weight=3]; 9585[label="absReal (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9585 -> 9817[label="",style="solid", color="black", weight=3]; 10183[label="primQuotInt (Pos vuz416) (gcd0Gcd'0 vuz549 vuz542)",fontsize=16,color="black",shape="box"];10183 -> 10206[label="",style="solid", color="black", weight=3]; 10184[label="primQuotInt (Pos vuz416) vuz549",fontsize=16,color="burlywood",shape="triangle"];11099[label="vuz549/Pos vuz5490",fontsize=10,color="white",style="solid",shape="box"];10184 -> 11099[label="",style="solid", color="burlywood", weight=9]; 11099 -> 10207[label="",style="solid", color="burlywood", weight=3]; 11100[label="vuz549/Neg vuz5490",fontsize=10,color="white",style="solid",shape="box"];10184 -> 11100[label="",style="solid", color="burlywood", weight=9]; 11100 -> 10208[label="",style="solid", color="burlywood", weight=3]; 9588[label="absReal (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9588 -> 9822[label="",style="solid", color="black", weight=3]; 9590[label="absReal (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9590 -> 9824[label="",style="solid", color="black", weight=3]; 10202[label="absReal2 (Neg vuz427)",fontsize=16,color="black",shape="box"];10202 -> 10246[label="",style="solid", color="black", weight=3]; 10203[label="primQuotInt (Neg vuz428) (gcd0Gcd'0 vuz552 vuz544)",fontsize=16,color="black",shape="box"];10203 -> 10247[label="",style="solid", color="black", weight=3]; 10204[label="primQuotInt (Neg vuz428) vuz552",fontsize=16,color="burlywood",shape="triangle"];11101[label="vuz552/Pos vuz5520",fontsize=10,color="white",style="solid",shape="box"];10204 -> 11101[label="",style="solid", color="burlywood", weight=9]; 11101 -> 10248[label="",style="solid", color="burlywood", weight=3]; 11102[label="vuz552/Neg vuz5520",fontsize=10,color="white",style="solid",shape="box"];10204 -> 11102[label="",style="solid", color="burlywood", weight=9]; 11102 -> 10249[label="",style="solid", color="burlywood", weight=3]; 9589[label="absReal (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9589 -> 9823[label="",style="solid", color="black", weight=3]; 9028[label="primQuotInt (Pos vuz366) (gcd0Gcd'2 (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="black",shape="box"];9028 -> 9058[label="",style="solid", color="black", weight=3]; 10009[label="Pos vuz367",fontsize=16,color="green",shape="box"];9030[label="primQuotInt (Pos vuz366) (gcd1 False (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];9030 -> 9059[label="",style="solid", color="black", weight=3]; 9031[label="primQuotInt (Pos vuz366) (gcd1 True (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];9031 -> 9060[label="",style="solid", color="black", weight=3]; 9032[label="Succ vuz3690",fontsize=16,color="green",shape="box"];9033[label="Succ vuz4830",fontsize=16,color="green",shape="box"];9034[label="Zero",fontsize=16,color="green",shape="box"];9035[label="primQuotInt (Pos vuz370) (gcd0Gcd'2 (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="black",shape="box"];9035 -> 9061[label="",style="solid", color="black", weight=3]; 10010[label="Pos vuz371",fontsize=16,color="green",shape="box"];9037[label="primQuotInt (Pos vuz370) (gcd1 False (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];9037 -> 9062[label="",style="solid", color="black", weight=3]; 9038[label="primQuotInt (Pos vuz370) (gcd1 True (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];9038 -> 9063[label="",style="solid", color="black", weight=3]; 9039[label="Succ vuz4890",fontsize=16,color="green",shape="box"];9040[label="Succ vuz3770",fontsize=16,color="green",shape="box"];9041[label="Zero",fontsize=16,color="green",shape="box"];9042[label="primQuotInt (Neg vuz374) (gcd0Gcd'2 (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="black",shape="box"];9042 -> 9064[label="",style="solid", color="black", weight=3]; 10011[label="Neg vuz375",fontsize=16,color="green",shape="box"];9044[label="primQuotInt (Neg vuz374) (gcd1 False (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];9044 -> 9065[label="",style="solid", color="black", weight=3]; 9045[label="primQuotInt (Neg vuz374) (gcd1 True (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];9045 -> 9066[label="",style="solid", color="black", weight=3]; 9046[label="primQuotInt (Neg vuz378) (gcd0Gcd'2 (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="black",shape="box"];9046 -> 9067[label="",style="solid", color="black", weight=3]; 10012[label="Neg vuz379",fontsize=16,color="green",shape="box"];9048[label="primQuotInt (Neg vuz378) (gcd1 False (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];9048 -> 9068[label="",style="solid", color="black", weight=3]; 9049[label="primQuotInt (Neg vuz378) (gcd1 True (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];9049 -> 9069[label="",style="solid", color="black", weight=3]; 10205 -> 10185[label="",style="dashed", color="red", weight=0]; 10205[label="absReal1 (Pos vuz399) (Pos vuz399 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];10205 -> 10250[label="",style="dashed", color="magenta", weight=3]; 10205 -> 10251[label="",style="dashed", color="magenta", weight=3]; 9817[label="absReal2 (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9817 -> 9834[label="",style="solid", color="black", weight=3]; 10206 -> 10184[label="",style="dashed", color="red", weight=0]; 10206[label="primQuotInt (Pos vuz416) (gcd0Gcd' vuz542 (vuz549 `rem` vuz542))",fontsize=16,color="magenta"];10206 -> 10252[label="",style="dashed", color="magenta", weight=3]; 10207[label="primQuotInt (Pos vuz416) (Pos vuz5490)",fontsize=16,color="burlywood",shape="box"];11103[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10207 -> 11103[label="",style="solid", color="burlywood", weight=9]; 11103 -> 10253[label="",style="solid", color="burlywood", weight=3]; 11104[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10207 -> 11104[label="",style="solid", color="burlywood", weight=9]; 11104 -> 10254[label="",style="solid", color="burlywood", weight=3]; 10208[label="primQuotInt (Pos vuz416) (Neg vuz5490)",fontsize=16,color="burlywood",shape="box"];11105[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10208 -> 11105[label="",style="solid", color="burlywood", weight=9]; 11105 -> 10255[label="",style="solid", color="burlywood", weight=3]; 11106[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10208 -> 11106[label="",style="solid", color="burlywood", weight=9]; 11106 -> 10256[label="",style="solid", color="burlywood", weight=3]; 9822[label="absReal2 (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9822 -> 9839[label="",style="solid", color="black", weight=3]; 9824[label="absReal2 (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9824 -> 9841[label="",style="solid", color="black", weight=3]; 10246 -> 10185[label="",style="dashed", color="red", weight=0]; 10246[label="absReal1 (Neg vuz427) (Neg vuz427 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];10246 -> 10266[label="",style="dashed", color="magenta", weight=3]; 10246 -> 10267[label="",style="dashed", color="magenta", weight=3]; 10247 -> 10204[label="",style="dashed", color="red", weight=0]; 10247[label="primQuotInt (Neg vuz428) (gcd0Gcd' vuz544 (vuz552 `rem` vuz544))",fontsize=16,color="magenta"];10247 -> 10268[label="",style="dashed", color="magenta", weight=3]; 10248[label="primQuotInt (Neg vuz428) (Pos vuz5520)",fontsize=16,color="burlywood",shape="box"];11107[label="vuz5520/Succ vuz55200",fontsize=10,color="white",style="solid",shape="box"];10248 -> 11107[label="",style="solid", color="burlywood", weight=9]; 11107 -> 10269[label="",style="solid", color="burlywood", weight=3]; 11108[label="vuz5520/Zero",fontsize=10,color="white",style="solid",shape="box"];10248 -> 11108[label="",style="solid", color="burlywood", weight=9]; 11108 -> 10270[label="",style="solid", color="burlywood", weight=3]; 10249[label="primQuotInt (Neg vuz428) (Neg vuz5520)",fontsize=16,color="burlywood",shape="box"];11109[label="vuz5520/Succ vuz55200",fontsize=10,color="white",style="solid",shape="box"];10249 -> 11109[label="",style="solid", color="burlywood", weight=9]; 11109 -> 10271[label="",style="solid", color="burlywood", weight=3]; 11110[label="vuz5520/Zero",fontsize=10,color="white",style="solid",shape="box"];10249 -> 11110[label="",style="solid", color="burlywood", weight=9]; 11110 -> 10272[label="",style="solid", color="burlywood", weight=3]; 9823[label="absReal2 (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9823 -> 9840[label="",style="solid", color="black", weight=3]; 9058 -> 9854[label="",style="dashed", color="red", weight=0]; 9058[label="primQuotInt (Pos vuz366) (gcd0Gcd'1 (abs (Pos vuz367) == fromInt (Pos Zero)) (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="magenta"];9058 -> 9887[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9888[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9889[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9890[label="",style="dashed", color="magenta", weight=3]; 9059 -> 8956[label="",style="dashed", color="red", weight=0]; 9059[label="primQuotInt (Pos vuz366) (gcd0 (Pos vuz505) (Pos vuz367))",fontsize=16,color="magenta"];9060 -> 8816[label="",style="dashed", color="red", weight=0]; 9060[label="primQuotInt (Pos vuz366) (error [])",fontsize=16,color="magenta"];9060 -> 9079[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9854[label="",style="dashed", color="red", weight=0]; 9061[label="primQuotInt (Pos vuz370) (gcd0Gcd'1 (abs (Pos vuz371) == fromInt (Pos Zero)) (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="magenta"];9061 -> 9891[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9892[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9893[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9894[label="",style="dashed", color="magenta", weight=3]; 9062 -> 8964[label="",style="dashed", color="red", weight=0]; 9062[label="primQuotInt (Pos vuz370) (gcd0 (Neg vuz508) (Pos vuz371))",fontsize=16,color="magenta"];9063 -> 8816[label="",style="dashed", color="red", weight=0]; 9063[label="primQuotInt (Pos vuz370) (error [])",fontsize=16,color="magenta"];9063 -> 9081[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10039[label="",style="dashed", color="red", weight=0]; 9064[label="primQuotInt (Neg vuz374) (gcd0Gcd'1 (abs (Neg vuz375) == fromInt (Pos Zero)) (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="magenta"];9064 -> 10072[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10073[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10074[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10075[label="",style="dashed", color="magenta", weight=3]; 9065 -> 8972[label="",style="dashed", color="red", weight=0]; 9065[label="primQuotInt (Neg vuz374) (gcd0 (Neg vuz511) (Neg vuz375))",fontsize=16,color="magenta"];9066 -> 8849[label="",style="dashed", color="red", weight=0]; 9066[label="primQuotInt (Neg vuz374) (error [])",fontsize=16,color="magenta"];9066 -> 9083[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10039[label="",style="dashed", color="red", weight=0]; 9067[label="primQuotInt (Neg vuz378) (gcd0Gcd'1 (abs (Neg vuz379) == fromInt (Pos Zero)) (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="magenta"];9067 -> 10076[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10077[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10078[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10079[label="",style="dashed", color="magenta", weight=3]; 9068 -> 8976[label="",style="dashed", color="red", weight=0]; 9068[label="primQuotInt (Neg vuz378) (gcd0 (Pos vuz514) (Neg vuz379))",fontsize=16,color="magenta"];9069 -> 8849[label="",style="dashed", color="red", weight=0]; 9069[label="primQuotInt (Neg vuz378) (error [])",fontsize=16,color="magenta"];9069 -> 9085[label="",style="dashed", color="magenta", weight=3]; 10250[label="Pos vuz399",fontsize=16,color="green",shape="box"];10251[label="Pos vuz399",fontsize=16,color="green",shape="box"];10185[label="absReal1 vuz554 (vuz555 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="triangle"];10185 -> 10223[label="",style="solid", color="black", weight=3]; 9834 -> 10185[label="",style="dashed", color="red", weight=0]; 9834[label="absReal1 (Pos vuz3190 * Pos vuz3170) (Pos vuz3190 * Pos vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9834 -> 10186[label="",style="dashed", color="magenta", weight=3]; 9834 -> 10187[label="",style="dashed", color="magenta", weight=3]; 10252[label="gcd0Gcd' vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="triangle"];10252 -> 10273[label="",style="solid", color="black", weight=3]; 10253[label="primQuotInt (Pos vuz416) (Pos (Succ vuz54900))",fontsize=16,color="black",shape="box"];10253 -> 10274[label="",style="solid", color="black", weight=3]; 10254[label="primQuotInt (Pos vuz416) (Pos Zero)",fontsize=16,color="black",shape="box"];10254 -> 10275[label="",style="solid", color="black", weight=3]; 10255[label="primQuotInt (Pos vuz416) (Neg (Succ vuz54900))",fontsize=16,color="black",shape="box"];10255 -> 10276[label="",style="solid", color="black", weight=3]; 10256[label="primQuotInt (Pos vuz416) (Neg Zero)",fontsize=16,color="black",shape="box"];10256 -> 10277[label="",style="solid", color="black", weight=3]; 9839 -> 10185[label="",style="dashed", color="red", weight=0]; 9839[label="absReal1 (Neg vuz3190 * Pos vuz3170) (Neg vuz3190 * Pos vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9839 -> 10188[label="",style="dashed", color="magenta", weight=3]; 9839 -> 10189[label="",style="dashed", color="magenta", weight=3]; 9841 -> 10185[label="",style="dashed", color="red", weight=0]; 9841[label="absReal1 (Neg vuz3190 * Neg vuz3170) (Neg vuz3190 * Neg vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9841 -> 10190[label="",style="dashed", color="magenta", weight=3]; 9841 -> 10191[label="",style="dashed", color="magenta", weight=3]; 10266[label="Neg vuz427",fontsize=16,color="green",shape="box"];10267[label="Neg vuz427",fontsize=16,color="green",shape="box"];10268 -> 10252[label="",style="dashed", color="red", weight=0]; 10268[label="gcd0Gcd' vuz544 (vuz552 `rem` vuz544)",fontsize=16,color="magenta"];10268 -> 10283[label="",style="dashed", color="magenta", weight=3]; 10268 -> 10284[label="",style="dashed", color="magenta", weight=3]; 10269[label="primQuotInt (Neg vuz428) (Pos (Succ vuz55200))",fontsize=16,color="black",shape="box"];10269 -> 10285[label="",style="solid", color="black", weight=3]; 10270[label="primQuotInt (Neg vuz428) (Pos Zero)",fontsize=16,color="black",shape="box"];10270 -> 10286[label="",style="solid", color="black", weight=3]; 10271[label="primQuotInt (Neg vuz428) (Neg (Succ vuz55200))",fontsize=16,color="black",shape="box"];10271 -> 10287[label="",style="solid", color="black", weight=3]; 10272[label="primQuotInt (Neg vuz428) (Neg Zero)",fontsize=16,color="black",shape="box"];10272 -> 10288[label="",style="solid", color="black", weight=3]; 9840 -> 10185[label="",style="dashed", color="red", weight=0]; 9840[label="absReal1 (Pos vuz3190 * Neg vuz3170) (Pos vuz3190 * Neg vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9840 -> 10192[label="",style="dashed", color="magenta", weight=3]; 9840 -> 10193[label="",style="dashed", color="magenta", weight=3]; 9887 -> 9987[label="",style="dashed", color="red", weight=0]; 9887[label="abs (Pos vuz367) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9887 -> 10013[label="",style="dashed", color="magenta", weight=3]; 9888[label="vuz366",fontsize=16,color="green",shape="box"];9889 -> 9857[label="",style="dashed", color="red", weight=0]; 9889[label="abs (Pos vuz505)",fontsize=16,color="magenta"];9889 -> 10209[label="",style="dashed", color="magenta", weight=3]; 9890 -> 9857[label="",style="dashed", color="red", weight=0]; 9890[label="abs (Pos vuz367)",fontsize=16,color="magenta"];9890 -> 10210[label="",style="dashed", color="magenta", weight=3]; 9079[label="vuz366",fontsize=16,color="green",shape="box"];9891 -> 9987[label="",style="dashed", color="red", weight=0]; 9891[label="abs (Pos vuz371) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9891 -> 10014[label="",style="dashed", color="magenta", weight=3]; 9892[label="vuz370",fontsize=16,color="green",shape="box"];9893 -> 10042[label="",style="dashed", color="red", weight=0]; 9893[label="abs (Neg vuz508)",fontsize=16,color="magenta"];9893 -> 10211[label="",style="dashed", color="magenta", weight=3]; 9894 -> 9857[label="",style="dashed", color="red", weight=0]; 9894[label="abs (Pos vuz371)",fontsize=16,color="magenta"];9894 -> 10212[label="",style="dashed", color="magenta", weight=3]; 9081[label="vuz370",fontsize=16,color="green",shape="box"];10072[label="vuz374",fontsize=16,color="green",shape="box"];10073 -> 10042[label="",style="dashed", color="red", weight=0]; 10073[label="abs (Neg vuz375)",fontsize=16,color="magenta"];10073 -> 10213[label="",style="dashed", color="magenta", weight=3]; 10074 -> 10042[label="",style="dashed", color="red", weight=0]; 10074[label="abs (Neg vuz511)",fontsize=16,color="magenta"];10074 -> 10214[label="",style="dashed", color="magenta", weight=3]; 10075 -> 9987[label="",style="dashed", color="red", weight=0]; 10075[label="abs (Neg vuz375) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10075 -> 10215[label="",style="dashed", color="magenta", weight=3]; 9083[label="vuz374",fontsize=16,color="green",shape="box"];10076[label="vuz378",fontsize=16,color="green",shape="box"];10077 -> 10042[label="",style="dashed", color="red", weight=0]; 10077[label="abs (Neg vuz379)",fontsize=16,color="magenta"];10077 -> 10216[label="",style="dashed", color="magenta", weight=3]; 10078 -> 9857[label="",style="dashed", color="red", weight=0]; 10078[label="abs (Pos vuz514)",fontsize=16,color="magenta"];10078 -> 10217[label="",style="dashed", color="magenta", weight=3]; 10079 -> 9987[label="",style="dashed", color="red", weight=0]; 10079[label="abs (Neg vuz379) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10079 -> 10218[label="",style="dashed", color="magenta", weight=3]; 9085[label="vuz378",fontsize=16,color="green",shape="box"];10223[label="absReal1 vuz554 (compare vuz555 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];10223 -> 10259[label="",style="solid", color="black", weight=3]; 10186 -> 9988[label="",style="dashed", color="red", weight=0]; 10186[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10186 -> 10219[label="",style="dashed", color="magenta", weight=3]; 10186 -> 10220[label="",style="dashed", color="magenta", weight=3]; 10187 -> 9988[label="",style="dashed", color="red", weight=0]; 10187[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10187 -> 10221[label="",style="dashed", color="magenta", weight=3]; 10187 -> 10222[label="",style="dashed", color="magenta", weight=3]; 10273[label="gcd0Gcd'2 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10273 -> 10289[label="",style="solid", color="black", weight=3]; 10274[label="Pos (primDivNatS vuz416 (Succ vuz54900))",fontsize=16,color="green",shape="box"];10274 -> 10290[label="",style="dashed", color="green", weight=3]; 10275[label="error []",fontsize=16,color="black",shape="triangle"];10275 -> 10291[label="",style="solid", color="black", weight=3]; 10276[label="Neg (primDivNatS vuz416 (Succ vuz54900))",fontsize=16,color="green",shape="box"];10276 -> 10292[label="",style="dashed", color="green", weight=3]; 10277 -> 10275[label="",style="dashed", color="red", weight=0]; 10277[label="error []",fontsize=16,color="magenta"];10188 -> 9988[label="",style="dashed", color="red", weight=0]; 10188[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10188 -> 10224[label="",style="dashed", color="magenta", weight=3]; 10188 -> 10225[label="",style="dashed", color="magenta", weight=3]; 10189 -> 9988[label="",style="dashed", color="red", weight=0]; 10189[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10189 -> 10226[label="",style="dashed", color="magenta", weight=3]; 10189 -> 10227[label="",style="dashed", color="magenta", weight=3]; 10190 -> 9988[label="",style="dashed", color="red", weight=0]; 10190[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10190 -> 10228[label="",style="dashed", color="magenta", weight=3]; 10190 -> 10229[label="",style="dashed", color="magenta", weight=3]; 10191 -> 9988[label="",style="dashed", color="red", weight=0]; 10191[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10191 -> 10230[label="",style="dashed", color="magenta", weight=3]; 10191 -> 10231[label="",style="dashed", color="magenta", weight=3]; 10283[label="vuz552",fontsize=16,color="green",shape="box"];10284[label="vuz544",fontsize=16,color="green",shape="box"];10285[label="Neg (primDivNatS vuz428 (Succ vuz55200))",fontsize=16,color="green",shape="box"];10285 -> 10295[label="",style="dashed", color="green", weight=3]; 10286 -> 10275[label="",style="dashed", color="red", weight=0]; 10286[label="error []",fontsize=16,color="magenta"];10287[label="Pos (primDivNatS vuz428 (Succ vuz55200))",fontsize=16,color="green",shape="box"];10287 -> 10296[label="",style="dashed", color="green", weight=3]; 10288 -> 10275[label="",style="dashed", color="red", weight=0]; 10288[label="error []",fontsize=16,color="magenta"];10192 -> 9988[label="",style="dashed", color="red", weight=0]; 10192[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10192 -> 10232[label="",style="dashed", color="magenta", weight=3]; 10192 -> 10233[label="",style="dashed", color="magenta", weight=3]; 10193 -> 9988[label="",style="dashed", color="red", weight=0]; 10193[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10193 -> 10234[label="",style="dashed", color="magenta", weight=3]; 10193 -> 10235[label="",style="dashed", color="magenta", weight=3]; 10013 -> 9857[label="",style="dashed", color="red", weight=0]; 10013[label="abs (Pos vuz367)",fontsize=16,color="magenta"];10013 -> 10236[label="",style="dashed", color="magenta", weight=3]; 10209[label="vuz505",fontsize=16,color="green",shape="box"];10210[label="vuz367",fontsize=16,color="green",shape="box"];10014 -> 9857[label="",style="dashed", color="red", weight=0]; 10014[label="abs (Pos vuz371)",fontsize=16,color="magenta"];10014 -> 10237[label="",style="dashed", color="magenta", weight=3]; 10211[label="vuz508",fontsize=16,color="green",shape="box"];10212[label="vuz371",fontsize=16,color="green",shape="box"];10213[label="vuz375",fontsize=16,color="green",shape="box"];10214[label="vuz511",fontsize=16,color="green",shape="box"];10215 -> 10042[label="",style="dashed", color="red", weight=0]; 10215[label="abs (Neg vuz375)",fontsize=16,color="magenta"];10215 -> 10257[label="",style="dashed", color="magenta", weight=3]; 10216[label="vuz379",fontsize=16,color="green",shape="box"];10217[label="vuz514",fontsize=16,color="green",shape="box"];10218 -> 10042[label="",style="dashed", color="red", weight=0]; 10218[label="abs (Neg vuz379)",fontsize=16,color="magenta"];10218 -> 10258[label="",style="dashed", color="magenta", weight=3]; 10259[label="absReal1 vuz554 (not (compare vuz555 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10259 -> 10278[label="",style="solid", color="black", weight=3]; 10219[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10220[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10221[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10222[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10289 -> 10297[label="",style="dashed", color="red", weight=0]; 10289[label="gcd0Gcd'1 (vuz549 `rem` vuz542 == fromInt (Pos Zero)) vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="magenta"];10289 -> 10298[label="",style="dashed", color="magenta", weight=3]; 10290[label="primDivNatS vuz416 (Succ vuz54900)",fontsize=16,color="burlywood",shape="triangle"];11111[label="vuz416/Succ vuz4160",fontsize=10,color="white",style="solid",shape="box"];10290 -> 11111[label="",style="solid", color="burlywood", weight=9]; 11111 -> 10299[label="",style="solid", color="burlywood", weight=3]; 11112[label="vuz416/Zero",fontsize=10,color="white",style="solid",shape="box"];10290 -> 11112[label="",style="solid", color="burlywood", weight=9]; 11112 -> 10300[label="",style="solid", color="burlywood", weight=3]; 10291[label="error []",fontsize=16,color="red",shape="box"];10292 -> 10290[label="",style="dashed", color="red", weight=0]; 10292[label="primDivNatS vuz416 (Succ vuz54900)",fontsize=16,color="magenta"];10292 -> 10301[label="",style="dashed", color="magenta", weight=3]; 10224[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10225[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10226[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10227[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10228[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10229[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10230[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10231[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10295 -> 10290[label="",style="dashed", color="red", weight=0]; 10295[label="primDivNatS vuz428 (Succ vuz55200)",fontsize=16,color="magenta"];10295 -> 10302[label="",style="dashed", color="magenta", weight=3]; 10295 -> 10303[label="",style="dashed", color="magenta", weight=3]; 10296 -> 10290[label="",style="dashed", color="red", weight=0]; 10296[label="primDivNatS vuz428 (Succ vuz55200)",fontsize=16,color="magenta"];10296 -> 10304[label="",style="dashed", color="magenta", weight=3]; 10296 -> 10305[label="",style="dashed", color="magenta", weight=3]; 10232[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10233[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10234[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10235[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10236[label="vuz367",fontsize=16,color="green",shape="box"];10237[label="vuz371",fontsize=16,color="green",shape="box"];10257[label="vuz375",fontsize=16,color="green",shape="box"];10258[label="vuz379",fontsize=16,color="green",shape="box"];10278[label="absReal1 vuz554 (not (primCmpInt vuz555 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11113[label="vuz555/Pos vuz5550",fontsize=10,color="white",style="solid",shape="box"];10278 -> 11113[label="",style="solid", color="burlywood", weight=9]; 11113 -> 10293[label="",style="solid", color="burlywood", weight=3]; 11114[label="vuz555/Neg vuz5550",fontsize=10,color="white",style="solid",shape="box"];10278 -> 11114[label="",style="solid", color="burlywood", weight=9]; 11114 -> 10294[label="",style="solid", color="burlywood", weight=3]; 10298 -> 9987[label="",style="dashed", color="red", weight=0]; 10298[label="vuz549 `rem` vuz542 == fromInt (Pos Zero)",fontsize=16,color="magenta"];10298 -> 10306[label="",style="dashed", color="magenta", weight=3]; 10297[label="gcd0Gcd'1 vuz556 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="burlywood",shape="triangle"];11115[label="vuz556/False",fontsize=10,color="white",style="solid",shape="box"];10297 -> 11115[label="",style="solid", color="burlywood", weight=9]; 11115 -> 10307[label="",style="solid", color="burlywood", weight=3]; 11116[label="vuz556/True",fontsize=10,color="white",style="solid",shape="box"];10297 -> 11116[label="",style="solid", color="burlywood", weight=9]; 11116 -> 10308[label="",style="solid", color="burlywood", weight=3]; 10299[label="primDivNatS (Succ vuz4160) (Succ vuz54900)",fontsize=16,color="black",shape="box"];10299 -> 10313[label="",style="solid", color="black", weight=3]; 10300[label="primDivNatS Zero (Succ vuz54900)",fontsize=16,color="black",shape="box"];10300 -> 10314[label="",style="solid", color="black", weight=3]; 10301[label="vuz54900",fontsize=16,color="green",shape="box"];10302[label="vuz428",fontsize=16,color="green",shape="box"];10303[label="vuz55200",fontsize=16,color="green",shape="box"];10304[label="vuz428",fontsize=16,color="green",shape="box"];10305[label="vuz55200",fontsize=16,color="green",shape="box"];10293[label="absReal1 vuz554 (not (primCmpInt (Pos vuz5550) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11117[label="vuz5550/Succ vuz55500",fontsize=10,color="white",style="solid",shape="box"];10293 -> 11117[label="",style="solid", color="burlywood", weight=9]; 11117 -> 10309[label="",style="solid", color="burlywood", weight=3]; 11118[label="vuz5550/Zero",fontsize=10,color="white",style="solid",shape="box"];10293 -> 11118[label="",style="solid", color="burlywood", weight=9]; 11118 -> 10310[label="",style="solid", color="burlywood", weight=3]; 10294[label="absReal1 vuz554 (not (primCmpInt (Neg vuz5550) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11119[label="vuz5550/Succ vuz55500",fontsize=10,color="white",style="solid",shape="box"];10294 -> 11119[label="",style="solid", color="burlywood", weight=9]; 11119 -> 10311[label="",style="solid", color="burlywood", weight=3]; 11120[label="vuz5550/Zero",fontsize=10,color="white",style="solid",shape="box"];10294 -> 11120[label="",style="solid", color="burlywood", weight=9]; 11120 -> 10312[label="",style="solid", color="burlywood", weight=3]; 10306[label="vuz549 `rem` vuz542",fontsize=16,color="black",shape="triangle"];10306 -> 10315[label="",style="solid", color="black", weight=3]; 10307[label="gcd0Gcd'1 False vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10307 -> 10316[label="",style="solid", color="black", weight=3]; 10308[label="gcd0Gcd'1 True vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10308 -> 10317[label="",style="solid", color="black", weight=3]; 10313[label="primDivNatS0 vuz4160 vuz54900 (primGEqNatS vuz4160 vuz54900)",fontsize=16,color="burlywood",shape="box"];11121[label="vuz4160/Succ vuz41600",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11121[label="",style="solid", color="burlywood", weight=9]; 11121 -> 10322[label="",style="solid", color="burlywood", weight=3]; 11122[label="vuz4160/Zero",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11122[label="",style="solid", color="burlywood", weight=9]; 11122 -> 10323[label="",style="solid", color="burlywood", weight=3]; 10314[label="Zero",fontsize=16,color="green",shape="box"];10309[label="absReal1 vuz554 (not (primCmpInt (Pos (Succ vuz55500)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10309 -> 10318[label="",style="solid", color="black", weight=3]; 10310[label="absReal1 vuz554 (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10310 -> 10319[label="",style="solid", color="black", weight=3]; 10311[label="absReal1 vuz554 (not (primCmpInt (Neg (Succ vuz55500)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10311 -> 10320[label="",style="solid", color="black", weight=3]; 10312[label="absReal1 vuz554 (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10312 -> 10321[label="",style="solid", color="black", weight=3]; 10315[label="primRemInt vuz549 vuz542",fontsize=16,color="burlywood",shape="box"];11123[label="vuz549/Pos vuz5490",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11123[label="",style="solid", color="burlywood", weight=9]; 11123 -> 10324[label="",style="solid", color="burlywood", weight=3]; 11124[label="vuz549/Neg vuz5490",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11124[label="",style="solid", color="burlywood", weight=9]; 11124 -> 10325[label="",style="solid", color="burlywood", weight=3]; 10316 -> 10326[label="",style="dashed", color="red", weight=0]; 10316[label="gcd0Gcd'0 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="magenta"];10316 -> 10327[label="",style="dashed", color="magenta", weight=3]; 10317[label="vuz542",fontsize=16,color="green",shape="box"];10322[label="primDivNatS0 (Succ vuz41600) vuz54900 (primGEqNatS (Succ vuz41600) vuz54900)",fontsize=16,color="burlywood",shape="box"];11125[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11125[label="",style="solid", color="burlywood", weight=9]; 11125 -> 10328[label="",style="solid", color="burlywood", weight=3]; 11126[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11126[label="",style="solid", color="burlywood", weight=9]; 11126 -> 10329[label="",style="solid", color="burlywood", weight=3]; 10323[label="primDivNatS0 Zero vuz54900 (primGEqNatS Zero vuz54900)",fontsize=16,color="burlywood",shape="box"];11127[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10323 -> 11127[label="",style="solid", color="burlywood", weight=9]; 11127 -> 10330[label="",style="solid", color="burlywood", weight=3]; 11128[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10323 -> 11128[label="",style="solid", color="burlywood", weight=9]; 11128 -> 10331[label="",style="solid", color="burlywood", weight=3]; 10318[label="absReal1 vuz554 (not (primCmpInt (Pos (Succ vuz55500)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10318 -> 10332[label="",style="solid", color="black", weight=3]; 10319[label="absReal1 vuz554 (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10319 -> 10333[label="",style="solid", color="black", weight=3]; 10320[label="absReal1 vuz554 (not (primCmpInt (Neg (Succ vuz55500)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10320 -> 10334[label="",style="solid", color="black", weight=3]; 10321[label="absReal1 vuz554 (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10321 -> 10335[label="",style="solid", color="black", weight=3]; 10324[label="primRemInt (Pos vuz5490) vuz542",fontsize=16,color="burlywood",shape="box"];11129[label="vuz542/Pos vuz5420",fontsize=10,color="white",style="solid",shape="box"];10324 -> 11129[label="",style="solid", color="burlywood", weight=9]; 11129 -> 10336[label="",style="solid", color="burlywood", weight=3]; 11130[label="vuz542/Neg vuz5420",fontsize=10,color="white",style="solid",shape="box"];10324 -> 11130[label="",style="solid", color="burlywood", weight=9]; 11130 -> 10337[label="",style="solid", color="burlywood", weight=3]; 10325[label="primRemInt (Neg vuz5490) vuz542",fontsize=16,color="burlywood",shape="box"];11131[label="vuz542/Pos vuz5420",fontsize=10,color="white",style="solid",shape="box"];10325 -> 11131[label="",style="solid", color="burlywood", weight=9]; 11131 -> 10338[label="",style="solid", color="burlywood", weight=3]; 11132[label="vuz542/Neg vuz5420",fontsize=10,color="white",style="solid",shape="box"];10325 -> 11132[label="",style="solid", color="burlywood", weight=9]; 11132 -> 10339[label="",style="solid", color="burlywood", weight=3]; 10327 -> 10306[label="",style="dashed", color="red", weight=0]; 10327[label="vuz549 `rem` vuz542",fontsize=16,color="magenta"];10326[label="gcd0Gcd'0 vuz542 vuz557",fontsize=16,color="black",shape="triangle"];10326 -> 10340[label="",style="solid", color="black", weight=3]; 10328[label="primDivNatS0 (Succ vuz41600) (Succ vuz549000) (primGEqNatS (Succ vuz41600) (Succ vuz549000))",fontsize=16,color="black",shape="box"];10328 -> 10341[label="",style="solid", color="black", weight=3]; 10329[label="primDivNatS0 (Succ vuz41600) Zero (primGEqNatS (Succ vuz41600) Zero)",fontsize=16,color="black",shape="box"];10329 -> 10342[label="",style="solid", color="black", weight=3]; 10330[label="primDivNatS0 Zero (Succ vuz549000) (primGEqNatS Zero (Succ vuz549000))",fontsize=16,color="black",shape="box"];10330 -> 10343[label="",style="solid", color="black", weight=3]; 10331[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10331 -> 10344[label="",style="solid", color="black", weight=3]; 10332[label="absReal1 vuz554 (not (primCmpNat (Succ vuz55500) Zero == LT))",fontsize=16,color="black",shape="box"];10332 -> 10345[label="",style="solid", color="black", weight=3]; 10333[label="absReal1 vuz554 (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];10333 -> 10346[label="",style="solid", color="black", weight=3]; 10334[label="absReal1 vuz554 (not (LT == LT))",fontsize=16,color="black",shape="box"];10334 -> 10347[label="",style="solid", color="black", weight=3]; 10335 -> 10333[label="",style="dashed", color="red", weight=0]; 10335[label="absReal1 vuz554 (not (EQ == LT))",fontsize=16,color="magenta"];10336[label="primRemInt (Pos vuz5490) (Pos vuz5420)",fontsize=16,color="burlywood",shape="box"];11133[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10336 -> 11133[label="",style="solid", color="burlywood", weight=9]; 11133 -> 10348[label="",style="solid", color="burlywood", weight=3]; 11134[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10336 -> 11134[label="",style="solid", color="burlywood", weight=9]; 11134 -> 10349[label="",style="solid", color="burlywood", weight=3]; 10337[label="primRemInt (Pos vuz5490) (Neg vuz5420)",fontsize=16,color="burlywood",shape="box"];11135[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10337 -> 11135[label="",style="solid", color="burlywood", weight=9]; 11135 -> 10350[label="",style="solid", color="burlywood", weight=3]; 11136[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10337 -> 11136[label="",style="solid", color="burlywood", weight=9]; 11136 -> 10351[label="",style="solid", color="burlywood", weight=3]; 10338[label="primRemInt (Neg vuz5490) (Pos vuz5420)",fontsize=16,color="burlywood",shape="box"];11137[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10338 -> 11137[label="",style="solid", color="burlywood", weight=9]; 11137 -> 10352[label="",style="solid", color="burlywood", weight=3]; 11138[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10338 -> 11138[label="",style="solid", color="burlywood", weight=9]; 11138 -> 10353[label="",style="solid", color="burlywood", weight=3]; 10339[label="primRemInt (Neg vuz5490) (Neg vuz5420)",fontsize=16,color="burlywood",shape="box"];11139[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10339 -> 11139[label="",style="solid", color="burlywood", weight=9]; 11139 -> 10354[label="",style="solid", color="burlywood", weight=3]; 11140[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10339 -> 11140[label="",style="solid", color="burlywood", weight=9]; 11140 -> 10355[label="",style="solid", color="burlywood", weight=3]; 10340 -> 10252[label="",style="dashed", color="red", weight=0]; 10340[label="gcd0Gcd' vuz557 (vuz542 `rem` vuz557)",fontsize=16,color="magenta"];10340 -> 10356[label="",style="dashed", color="magenta", weight=3]; 10340 -> 10357[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10629[label="",style="dashed", color="red", weight=0]; 10341[label="primDivNatS0 (Succ vuz41600) (Succ vuz549000) (primGEqNatS vuz41600 vuz549000)",fontsize=16,color="magenta"];10341 -> 10630[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10631[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10632[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10633[label="",style="dashed", color="magenta", weight=3]; 10342[label="primDivNatS0 (Succ vuz41600) Zero True",fontsize=16,color="black",shape="box"];10342 -> 10360[label="",style="solid", color="black", weight=3]; 10343[label="primDivNatS0 Zero (Succ vuz549000) False",fontsize=16,color="black",shape="box"];10343 -> 10361[label="",style="solid", color="black", weight=3]; 10344[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];10344 -> 10362[label="",style="solid", color="black", weight=3]; 10345[label="absReal1 vuz554 (not (GT == LT))",fontsize=16,color="black",shape="box"];10345 -> 10363[label="",style="solid", color="black", weight=3]; 10346[label="absReal1 vuz554 (not False)",fontsize=16,color="black",shape="triangle"];10346 -> 10364[label="",style="solid", color="black", weight=3]; 10347[label="absReal1 vuz554 (not True)",fontsize=16,color="black",shape="box"];10347 -> 10365[label="",style="solid", color="black", weight=3]; 10348[label="primRemInt (Pos vuz5490) (Pos (Succ vuz54200))",fontsize=16,color="black",shape="box"];10348 -> 10366[label="",style="solid", color="black", weight=3]; 10349[label="primRemInt (Pos vuz5490) (Pos Zero)",fontsize=16,color="black",shape="box"];10349 -> 10367[label="",style="solid", color="black", weight=3]; 10350[label="primRemInt (Pos vuz5490) (Neg (Succ vuz54200))",fontsize=16,color="black",shape="box"];10350 -> 10368[label="",style="solid", color="black", weight=3]; 10351[label="primRemInt (Pos vuz5490) (Neg Zero)",fontsize=16,color="black",shape="box"];10351 -> 10369[label="",style="solid", color="black", weight=3]; 10352[label="primRemInt (Neg vuz5490) (Pos (Succ vuz54200))",fontsize=16,color="black",shape="box"];10352 -> 10370[label="",style="solid", color="black", weight=3]; 10353[label="primRemInt (Neg vuz5490) (Pos Zero)",fontsize=16,color="black",shape="box"];10353 -> 10371[label="",style="solid", color="black", weight=3]; 10354[label="primRemInt (Neg vuz5490) (Neg (Succ vuz54200))",fontsize=16,color="black",shape="box"];10354 -> 10372[label="",style="solid", color="black", weight=3]; 10355[label="primRemInt (Neg vuz5490) (Neg Zero)",fontsize=16,color="black",shape="box"];10355 -> 10373[label="",style="solid", color="black", weight=3]; 10356[label="vuz542",fontsize=16,color="green",shape="box"];10357[label="vuz557",fontsize=16,color="green",shape="box"];10630[label="vuz41600",fontsize=16,color="green",shape="box"];10631[label="vuz41600",fontsize=16,color="green",shape="box"];10632[label="vuz549000",fontsize=16,color="green",shape="box"];10633[label="vuz549000",fontsize=16,color="green",shape="box"];10629[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS vuz576 vuz577)",fontsize=16,color="burlywood",shape="triangle"];11141[label="vuz576/Succ vuz5760",fontsize=10,color="white",style="solid",shape="box"];10629 -> 11141[label="",style="solid", color="burlywood", weight=9]; 11141 -> 10662[label="",style="solid", color="burlywood", weight=3]; 11142[label="vuz576/Zero",fontsize=10,color="white",style="solid",shape="box"];10629 -> 11142[label="",style="solid", color="burlywood", weight=9]; 11142 -> 10663[label="",style="solid", color="burlywood", weight=3]; 10360[label="Succ (primDivNatS (primMinusNatS (Succ vuz41600) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];10360 -> 10378[label="",style="dashed", color="green", weight=3]; 10361[label="Zero",fontsize=16,color="green",shape="box"];10362[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];10362 -> 10379[label="",style="dashed", color="green", weight=3]; 10363 -> 10346[label="",style="dashed", color="red", weight=0]; 10363[label="absReal1 vuz554 (not False)",fontsize=16,color="magenta"];10364[label="absReal1 vuz554 True",fontsize=16,color="black",shape="box"];10364 -> 10380[label="",style="solid", color="black", weight=3]; 10365[label="absReal1 vuz554 False",fontsize=16,color="black",shape="box"];10365 -> 10381[label="",style="solid", color="black", weight=3]; 10366[label="Pos (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10366 -> 10382[label="",style="dashed", color="green", weight=3]; 10367 -> 10275[label="",style="dashed", color="red", weight=0]; 10367[label="error []",fontsize=16,color="magenta"];10368[label="Pos (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10368 -> 10383[label="",style="dashed", color="green", weight=3]; 10369 -> 10275[label="",style="dashed", color="red", weight=0]; 10369[label="error []",fontsize=16,color="magenta"];10370[label="Neg (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10370 -> 10384[label="",style="dashed", color="green", weight=3]; 10371 -> 10275[label="",style="dashed", color="red", weight=0]; 10371[label="error []",fontsize=16,color="magenta"];10372[label="Neg (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10372 -> 10385[label="",style="dashed", color="green", weight=3]; 10373 -> 10275[label="",style="dashed", color="red", weight=0]; 10373[label="error []",fontsize=16,color="magenta"];10662[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) vuz577)",fontsize=16,color="burlywood",shape="box"];11143[label="vuz577/Succ vuz5770",fontsize=10,color="white",style="solid",shape="box"];10662 -> 11143[label="",style="solid", color="burlywood", weight=9]; 11143 -> 10670[label="",style="solid", color="burlywood", weight=3]; 11144[label="vuz577/Zero",fontsize=10,color="white",style="solid",shape="box"];10662 -> 11144[label="",style="solid", color="burlywood", weight=9]; 11144 -> 10671[label="",style="solid", color="burlywood", weight=3]; 10663[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero vuz577)",fontsize=16,color="burlywood",shape="box"];11145[label="vuz577/Succ vuz5770",fontsize=10,color="white",style="solid",shape="box"];10663 -> 11145[label="",style="solid", color="burlywood", weight=9]; 11145 -> 10672[label="",style="solid", color="burlywood", weight=3]; 11146[label="vuz577/Zero",fontsize=10,color="white",style="solid",shape="box"];10663 -> 11146[label="",style="solid", color="burlywood", weight=9]; 11146 -> 10673[label="",style="solid", color="burlywood", weight=3]; 10378 -> 10290[label="",style="dashed", color="red", weight=0]; 10378[label="primDivNatS (primMinusNatS (Succ vuz41600) Zero) (Succ Zero)",fontsize=16,color="magenta"];10378 -> 10390[label="",style="dashed", color="magenta", weight=3]; 10378 -> 10391[label="",style="dashed", color="magenta", weight=3]; 10379 -> 10290[label="",style="dashed", color="red", weight=0]; 10379[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];10379 -> 10392[label="",style="dashed", color="magenta", weight=3]; 10379 -> 10393[label="",style="dashed", color="magenta", weight=3]; 10380[label="vuz554",fontsize=16,color="green",shape="box"];10381[label="absReal0 vuz554 otherwise",fontsize=16,color="black",shape="box"];10381 -> 10394[label="",style="solid", color="black", weight=3]; 10382[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="burlywood",shape="triangle"];11147[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10382 -> 11147[label="",style="solid", color="burlywood", weight=9]; 11147 -> 10395[label="",style="solid", color="burlywood", weight=3]; 11148[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10382 -> 11148[label="",style="solid", color="burlywood", weight=9]; 11148 -> 10396[label="",style="solid", color="burlywood", weight=3]; 10383 -> 10382[label="",style="dashed", color="red", weight=0]; 10383[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10383 -> 10397[label="",style="dashed", color="magenta", weight=3]; 10384 -> 10382[label="",style="dashed", color="red", weight=0]; 10384[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10384 -> 10398[label="",style="dashed", color="magenta", weight=3]; 10385 -> 10382[label="",style="dashed", color="red", weight=0]; 10385[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10385 -> 10399[label="",style="dashed", color="magenta", weight=3]; 10385 -> 10400[label="",style="dashed", color="magenta", weight=3]; 10670[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) (Succ vuz5770))",fontsize=16,color="black",shape="box"];10670 -> 10682[label="",style="solid", color="black", weight=3]; 10671[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) Zero)",fontsize=16,color="black",shape="box"];10671 -> 10683[label="",style="solid", color="black", weight=3]; 10672[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero (Succ vuz5770))",fontsize=16,color="black",shape="box"];10672 -> 10684[label="",style="solid", color="black", weight=3]; 10673[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10673 -> 10685[label="",style="solid", color="black", weight=3]; 10390[label="primMinusNatS (Succ vuz41600) Zero",fontsize=16,color="black",shape="triangle"];10390 -> 10406[label="",style="solid", color="black", weight=3]; 10391[label="Zero",fontsize=16,color="green",shape="box"];10392[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];10392 -> 10407[label="",style="solid", color="black", weight=3]; 10393[label="Zero",fontsize=16,color="green",shape="box"];10394[label="absReal0 vuz554 True",fontsize=16,color="black",shape="box"];10394 -> 10408[label="",style="solid", color="black", weight=3]; 10395[label="primModNatS (Succ vuz54900) (Succ vuz54200)",fontsize=16,color="black",shape="box"];10395 -> 10409[label="",style="solid", color="black", weight=3]; 10396[label="primModNatS Zero (Succ vuz54200)",fontsize=16,color="black",shape="box"];10396 -> 10410[label="",style="solid", color="black", weight=3]; 10397[label="vuz54200",fontsize=16,color="green",shape="box"];10398[label="vuz5490",fontsize=16,color="green",shape="box"];10399[label="vuz5490",fontsize=16,color="green",shape="box"];10400[label="vuz54200",fontsize=16,color="green",shape="box"];10682 -> 10629[label="",style="dashed", color="red", weight=0]; 10682[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS vuz5760 vuz5770)",fontsize=16,color="magenta"];10682 -> 10692[label="",style="dashed", color="magenta", weight=3]; 10682 -> 10693[label="",style="dashed", color="magenta", weight=3]; 10683[label="primDivNatS0 (Succ vuz574) (Succ vuz575) True",fontsize=16,color="black",shape="triangle"];10683 -> 10694[label="",style="solid", color="black", weight=3]; 10684[label="primDivNatS0 (Succ vuz574) (Succ vuz575) False",fontsize=16,color="black",shape="box"];10684 -> 10695[label="",style="solid", color="black", weight=3]; 10685 -> 10683[label="",style="dashed", color="red", weight=0]; 10685[label="primDivNatS0 (Succ vuz574) (Succ vuz575) True",fontsize=16,color="magenta"];10406[label="Succ vuz41600",fontsize=16,color="green",shape="box"];10407[label="Zero",fontsize=16,color="green",shape="box"];10408 -> 7115[label="",style="dashed", color="red", weight=0]; 10408[label="`negate` vuz554",fontsize=16,color="magenta"];10408 -> 10417[label="",style="dashed", color="magenta", weight=3]; 10409[label="primModNatS0 vuz54900 vuz54200 (primGEqNatS vuz54900 vuz54200)",fontsize=16,color="burlywood",shape="box"];11149[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10409 -> 11149[label="",style="solid", color="burlywood", weight=9]; 11149 -> 10418[label="",style="solid", color="burlywood", weight=3]; 11150[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10409 -> 11150[label="",style="solid", color="burlywood", weight=9]; 11150 -> 10419[label="",style="solid", color="burlywood", weight=3]; 10410[label="Zero",fontsize=16,color="green",shape="box"];10692[label="vuz5760",fontsize=16,color="green",shape="box"];10693[label="vuz5770",fontsize=16,color="green",shape="box"];10694[label="Succ (primDivNatS (primMinusNatS (Succ vuz574) (Succ vuz575)) (Succ (Succ vuz575)))",fontsize=16,color="green",shape="box"];10694 -> 10700[label="",style="dashed", color="green", weight=3]; 10695[label="Zero",fontsize=16,color="green",shape="box"];10417[label="vuz554",fontsize=16,color="green",shape="box"];10418[label="primModNatS0 (Succ vuz549000) vuz54200 (primGEqNatS (Succ vuz549000) vuz54200)",fontsize=16,color="burlywood",shape="box"];11151[label="vuz54200/Succ vuz542000",fontsize=10,color="white",style="solid",shape="box"];10418 -> 11151[label="",style="solid", color="burlywood", weight=9]; 11151 -> 10428[label="",style="solid", color="burlywood", weight=3]; 11152[label="vuz54200/Zero",fontsize=10,color="white",style="solid",shape="box"];10418 -> 11152[label="",style="solid", color="burlywood", weight=9]; 11152 -> 10429[label="",style="solid", color="burlywood", weight=3]; 10419[label="primModNatS0 Zero vuz54200 (primGEqNatS Zero vuz54200)",fontsize=16,color="burlywood",shape="box"];11153[label="vuz54200/Succ vuz542000",fontsize=10,color="white",style="solid",shape="box"];10419 -> 11153[label="",style="solid", color="burlywood", weight=9]; 11153 -> 10430[label="",style="solid", color="burlywood", weight=3]; 11154[label="vuz54200/Zero",fontsize=10,color="white",style="solid",shape="box"];10419 -> 11154[label="",style="solid", color="burlywood", weight=9]; 11154 -> 10431[label="",style="solid", color="burlywood", weight=3]; 10700 -> 10290[label="",style="dashed", color="red", weight=0]; 10700[label="primDivNatS (primMinusNatS (Succ vuz574) (Succ vuz575)) (Succ (Succ vuz575))",fontsize=16,color="magenta"];10700 -> 10704[label="",style="dashed", color="magenta", weight=3]; 10700 -> 10705[label="",style="dashed", color="magenta", weight=3]; 10428[label="primModNatS0 (Succ vuz549000) (Succ vuz542000) (primGEqNatS (Succ vuz549000) (Succ vuz542000))",fontsize=16,color="black",shape="box"];10428 -> 10439[label="",style="solid", color="black", weight=3]; 10429[label="primModNatS0 (Succ vuz549000) Zero (primGEqNatS (Succ vuz549000) Zero)",fontsize=16,color="black",shape="box"];10429 -> 10440[label="",style="solid", color="black", weight=3]; 10430[label="primModNatS0 Zero (Succ vuz542000) (primGEqNatS Zero (Succ vuz542000))",fontsize=16,color="black",shape="box"];10430 -> 10441[label="",style="solid", color="black", weight=3]; 10431[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10431 -> 10442[label="",style="solid", color="black", weight=3]; 10704[label="primMinusNatS (Succ vuz574) (Succ vuz575)",fontsize=16,color="black",shape="box"];10704 -> 10709[label="",style="solid", color="black", weight=3]; 10705[label="Succ vuz575",fontsize=16,color="green",shape="box"];10439 -> 10769[label="",style="dashed", color="red", weight=0]; 10439[label="primModNatS0 (Succ vuz549000) (Succ vuz542000) (primGEqNatS vuz549000 vuz542000)",fontsize=16,color="magenta"];10439 -> 10770[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10771[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10772[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10773[label="",style="dashed", color="magenta", weight=3]; 10440[label="primModNatS0 (Succ vuz549000) Zero True",fontsize=16,color="black",shape="box"];10440 -> 10452[label="",style="solid", color="black", weight=3]; 10441[label="primModNatS0 Zero (Succ vuz542000) False",fontsize=16,color="black",shape="box"];10441 -> 10453[label="",style="solid", color="black", weight=3]; 10442[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];10442 -> 10454[label="",style="solid", color="black", weight=3]; 10709[label="primMinusNatS vuz574 vuz575",fontsize=16,color="burlywood",shape="triangle"];11155[label="vuz574/Succ vuz5740",fontsize=10,color="white",style="solid",shape="box"];10709 -> 11155[label="",style="solid", color="burlywood", weight=9]; 11155 -> 10712[label="",style="solid", color="burlywood", weight=3]; 11156[label="vuz574/Zero",fontsize=10,color="white",style="solid",shape="box"];10709 -> 11156[label="",style="solid", color="burlywood", weight=9]; 11156 -> 10713[label="",style="solid", color="burlywood", weight=3]; 10770[label="vuz549000",fontsize=16,color="green",shape="box"];10771[label="vuz542000",fontsize=16,color="green",shape="box"];10772[label="vuz549000",fontsize=16,color="green",shape="box"];10773[label="vuz542000",fontsize=16,color="green",shape="box"];10769[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS vuz596 vuz597)",fontsize=16,color="burlywood",shape="triangle"];11157[label="vuz596/Succ vuz5960",fontsize=10,color="white",style="solid",shape="box"];10769 -> 11157[label="",style="solid", color="burlywood", weight=9]; 11157 -> 10802[label="",style="solid", color="burlywood", weight=3]; 11158[label="vuz596/Zero",fontsize=10,color="white",style="solid",shape="box"];10769 -> 11158[label="",style="solid", color="burlywood", weight=9]; 11158 -> 10803[label="",style="solid", color="burlywood", weight=3]; 10452 -> 10382[label="",style="dashed", color="red", weight=0]; 10452[label="primModNatS (primMinusNatS (Succ vuz549000) Zero) (Succ Zero)",fontsize=16,color="magenta"];10452 -> 10467[label="",style="dashed", color="magenta", weight=3]; 10452 -> 10468[label="",style="dashed", color="magenta", weight=3]; 10453[label="Succ Zero",fontsize=16,color="green",shape="box"];10454 -> 10382[label="",style="dashed", color="red", weight=0]; 10454[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];10454 -> 10469[label="",style="dashed", color="magenta", weight=3]; 10454 -> 10470[label="",style="dashed", color="magenta", weight=3]; 10712[label="primMinusNatS (Succ vuz5740) vuz575",fontsize=16,color="burlywood",shape="box"];11159[label="vuz575/Succ vuz5750",fontsize=10,color="white",style="solid",shape="box"];10712 -> 11159[label="",style="solid", color="burlywood", weight=9]; 11159 -> 10745[label="",style="solid", color="burlywood", weight=3]; 11160[label="vuz575/Zero",fontsize=10,color="white",style="solid",shape="box"];10712 -> 11160[label="",style="solid", color="burlywood", weight=9]; 11160 -> 10746[label="",style="solid", color="burlywood", weight=3]; 10713[label="primMinusNatS Zero vuz575",fontsize=16,color="burlywood",shape="box"];11161[label="vuz575/Succ vuz5750",fontsize=10,color="white",style="solid",shape="box"];10713 -> 11161[label="",style="solid", color="burlywood", weight=9]; 11161 -> 10747[label="",style="solid", color="burlywood", weight=3]; 11162[label="vuz575/Zero",fontsize=10,color="white",style="solid",shape="box"];10713 -> 11162[label="",style="solid", color="burlywood", weight=9]; 11162 -> 10748[label="",style="solid", color="burlywood", weight=3]; 10802[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) vuz597)",fontsize=16,color="burlywood",shape="box"];11163[label="vuz597/Succ vuz5970",fontsize=10,color="white",style="solid",shape="box"];10802 -> 11163[label="",style="solid", color="burlywood", weight=9]; 11163 -> 10804[label="",style="solid", color="burlywood", weight=3]; 11164[label="vuz597/Zero",fontsize=10,color="white",style="solid",shape="box"];10802 -> 11164[label="",style="solid", color="burlywood", weight=9]; 11164 -> 10805[label="",style="solid", color="burlywood", weight=3]; 10803[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero vuz597)",fontsize=16,color="burlywood",shape="box"];11165[label="vuz597/Succ vuz5970",fontsize=10,color="white",style="solid",shape="box"];10803 -> 11165[label="",style="solid", color="burlywood", weight=9]; 11165 -> 10806[label="",style="solid", color="burlywood", weight=3]; 11166[label="vuz597/Zero",fontsize=10,color="white",style="solid",shape="box"];10803 -> 11166[label="",style="solid", color="burlywood", weight=9]; 11166 -> 10807[label="",style="solid", color="burlywood", weight=3]; 10467 -> 10390[label="",style="dashed", color="red", weight=0]; 10467[label="primMinusNatS (Succ vuz549000) Zero",fontsize=16,color="magenta"];10467 -> 10482[label="",style="dashed", color="magenta", weight=3]; 10468[label="Zero",fontsize=16,color="green",shape="box"];10469 -> 10392[label="",style="dashed", color="red", weight=0]; 10469[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];10470[label="Zero",fontsize=16,color="green",shape="box"];10745[label="primMinusNatS (Succ vuz5740) (Succ vuz5750)",fontsize=16,color="black",shape="box"];10745 -> 10755[label="",style="solid", color="black", weight=3]; 10746[label="primMinusNatS (Succ vuz5740) Zero",fontsize=16,color="black",shape="box"];10746 -> 10756[label="",style="solid", color="black", weight=3]; 10747[label="primMinusNatS Zero (Succ vuz5750)",fontsize=16,color="black",shape="box"];10747 -> 10757[label="",style="solid", color="black", weight=3]; 10748[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];10748 -> 10758[label="",style="solid", color="black", weight=3]; 10804[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) (Succ vuz5970))",fontsize=16,color="black",shape="box"];10804 -> 10808[label="",style="solid", color="black", weight=3]; 10805[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) Zero)",fontsize=16,color="black",shape="box"];10805 -> 10809[label="",style="solid", color="black", weight=3]; 10806[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero (Succ vuz5970))",fontsize=16,color="black",shape="box"];10806 -> 10810[label="",style="solid", color="black", weight=3]; 10807[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10807 -> 10811[label="",style="solid", color="black", weight=3]; 10482[label="vuz549000",fontsize=16,color="green",shape="box"];10755 -> 10709[label="",style="dashed", color="red", weight=0]; 10755[label="primMinusNatS vuz5740 vuz5750",fontsize=16,color="magenta"];10755 -> 10765[label="",style="dashed", color="magenta", weight=3]; 10755 -> 10766[label="",style="dashed", color="magenta", weight=3]; 10756[label="Succ vuz5740",fontsize=16,color="green",shape="box"];10757[label="Zero",fontsize=16,color="green",shape="box"];10758[label="Zero",fontsize=16,color="green",shape="box"];10808 -> 10769[label="",style="dashed", color="red", weight=0]; 10808[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS vuz5960 vuz5970)",fontsize=16,color="magenta"];10808 -> 10812[label="",style="dashed", color="magenta", weight=3]; 10808 -> 10813[label="",style="dashed", color="magenta", weight=3]; 10809[label="primModNatS0 (Succ vuz594) (Succ vuz595) True",fontsize=16,color="black",shape="triangle"];10809 -> 10814[label="",style="solid", color="black", weight=3]; 10810[label="primModNatS0 (Succ vuz594) (Succ vuz595) False",fontsize=16,color="black",shape="box"];10810 -> 10815[label="",style="solid", color="black", weight=3]; 10811 -> 10809[label="",style="dashed", color="red", weight=0]; 10811[label="primModNatS0 (Succ vuz594) (Succ vuz595) True",fontsize=16,color="magenta"];10765[label="vuz5740",fontsize=16,color="green",shape="box"];10766[label="vuz5750",fontsize=16,color="green",shape="box"];10812[label="vuz5970",fontsize=16,color="green",shape="box"];10813[label="vuz5960",fontsize=16,color="green",shape="box"];10814 -> 10382[label="",style="dashed", color="red", weight=0]; 10814[label="primModNatS (primMinusNatS (Succ vuz594) (Succ vuz595)) (Succ (Succ vuz595))",fontsize=16,color="magenta"];10814 -> 10816[label="",style="dashed", color="magenta", weight=3]; 10814 -> 10817[label="",style="dashed", color="magenta", weight=3]; 10815[label="Succ (Succ vuz594)",fontsize=16,color="green",shape="box"];10816 -> 10709[label="",style="dashed", color="red", weight=0]; 10816[label="primMinusNatS (Succ vuz594) (Succ vuz595)",fontsize=16,color="magenta"];10816 -> 10818[label="",style="dashed", color="magenta", weight=3]; 10816 -> 10819[label="",style="dashed", color="magenta", weight=3]; 10817[label="Succ vuz595",fontsize=16,color="green",shape="box"];10818[label="Succ vuz594",fontsize=16,color="green",shape="box"];10819[label="Succ vuz595",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt8(Succ(vuz4090), Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt8(vuz4090, vuz4080, vuz4090, vuz4080, vuz3190, vuz31700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt8(Succ(vuz4090), Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt8(vuz4090, vuz4080, vuz4090, vuz4080, vuz3190, vuz31700) we obtained the following new rules [LPAR04]: (new_primQuotInt8(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt8(x0, x1, x0, x1, z4, z5),new_primQuotInt8(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt8(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt8(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt8(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) 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_primQuotInt8(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt8(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_iterate(vuz4, vuz3, vuz5) -> new_iterate(vuz4, vuz3, new_ps(new_ps(vuz4, new_negate(vuz3), ty_Int), vuz5, ty_Int)) The TRS R consists of the following rules: new_abs4(vuz3190, vuz3170) -> new_absReal1(new_sr(Neg(vuz3190), Pos(vuz3170)), new_sr(Neg(vuz3190), Pos(vuz3170))) new_primQuotInt44(vuz398) -> error([]) new_primQuotInt80(vuz386, vuz389, Pos(vuz3180), vuz3190, vuz388, vuz387) -> new_primQuotInt30(vuz386, vuz389, new_primMulNat0(vuz3180, vuz3190), vuz388, new_primMulNat0(vuz3180, vuz3190), vuz387) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primQuotInt56(Succ(vuz4570), Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt56(vuz4570, vuz4560, vuz4570, vuz4560, vuz3190, vuz31700) new_primQuotInt27(vuz374, False, vuz511, vuz375) -> new_primQuotInt26(vuz374, vuz511, vuz375) new_primQuotInt62(Succ(vuz4010), Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt62(vuz4010, vuz4000, vuz4010, vuz4000, vuz3190, vuz31700) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Zero), Neg(Zero), ty_Int) -> new_primQuotInt40(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Succ(vuz31800)), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt74(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_abs1(vuz427) -> new_absReal1(Neg(vuz427), Neg(vuz427)) new_quot(Neg(Zero), Neg(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt56(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(Zero), Neg(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt77(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt69(vuz366, True, vuz505, vuz367) -> new_primQuotInt83(vuz366, new_esEs(Pos(vuz367)), vuz505, vuz367) new_primDivNatS1(Zero, vuz54900) -> Zero new_quot(Neg(Succ(vuz31600)), Neg(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt76(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Zero), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt72(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt57(vuz382, vuz385, Neg(vuz3180), vuz3190, vuz384, vuz383) -> new_primQuotInt53(vuz382, vuz385, new_primMulNat0(vuz3180, vuz3190), vuz384, new_primMulNat0(vuz3180, vuz3190), vuz383) new_primDivNatS1(Succ(Succ(vuz41600)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz41600), Zero)) new_primQuotInt20(vuz446, True, vuz447, vuz3190, vuz3170) -> new_primQuotInt87(vuz446, new_esEs(new_sr(Neg(vuz3190), Pos(vuz3170))), vuz447, vuz3190, vuz3170) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primQuotInt73(Zero, vuz445, vuz3170) -> new_primQuotInt18(Zero, Zero, Zero, vuz3170) new_primQuotInt80(vuz386, vuz389, Neg(vuz3180), vuz3190, vuz388, vuz387) -> new_primQuotInt29(vuz386, vuz389, new_primMulNat0(vuz3180, vuz3190), vuz388, new_primMulNat0(vuz3180, vuz3190), vuz387) new_primQuotInt15(vuz348, True, vuz349, vuz3190, vuz3170) -> new_primQuotInt55(vuz348) new_quot0(Neg(vuz3190), Pos(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt57(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt81(vuz390, vuz393, Pos(vuz3180), vuz3190, vuz392, vuz391) -> new_primQuotInt90(vuz390, vuz393, new_primMulNat0(vuz3180, vuz3190), vuz392, new_primMulNat0(vuz3180, vuz3190), vuz391) new_primQuotInt27(vuz374, True, vuz511, vuz375) -> new_primQuotInt55(vuz374) new_primQuotInt36(Zero, Zero, vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt18(Zero, Zero, vuz3190, Succ(vuz31700)) new_primDivNatS01(vuz574, vuz575, Zero, Succ(vuz5770)) -> Zero new_primQuotInt67(Succ(vuz4190), Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt67(vuz4190, vuz4180, vuz4190, vuz4180, vuz31900, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt48(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt50(vuz428, vuz429, vuz3190, vuz3170) -> new_primQuotInt51(vuz428, new_esEs(Neg(vuz429)), vuz429, vuz3190, vuz3170) new_primDivNatS02(vuz574, vuz575) -> Succ(new_primDivNatS1(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575))) new_primQuotInt79(vuz370, vuz373, Pos(vuz3180), vuz3190, vuz372, vuz371) -> new_primQuotInt11(vuz370, vuz373, new_primMulNat0(vuz3180, vuz3190), vuz372, new_primMulNat0(vuz3180, vuz3190), vuz371) new_primQuotInt28(vuz374, vuz377, Neg(vuz3180), vuz3190, vuz376, vuz375) -> new_primQuotInt30(vuz374, vuz377, new_primMulNat0(vuz3180, vuz3190), vuz376, new_primMulNat0(vuz3180, vuz3190), vuz375) new_primQuotInt76(Zero, Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt50(Succ(vuz4640), Succ(vuz4640), vuz3190, Succ(vuz31700)) new_primQuotInt76(Zero, Zero, vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt68(Zero, Zero, vuz3190, Succ(vuz31700)) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Succ(vuz31800)), Neg(Zero), ty_Int) -> new_primQuotInt58(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt39(vuz374, Zero, Succ(vuz3770), vuz375) -> new_primQuotInt25(vuz374, new_primEqInt3(Succ(vuz3770)), Succ(vuz3770), vuz375) new_primQuotInt53(vuz378, vuz381, vuz493, vuz380, vuz492, vuz379) -> new_primQuotInt54(vuz378, new_primEqInt4(new_primPlusNat1(vuz381, vuz493)), new_primPlusNat1(vuz381, vuz493), vuz379) new_primQuotInt79(vuz370, vuz373, Neg(vuz3180), vuz3190, vuz372, vuz371) -> new_primQuotInt90(vuz370, vuz373, new_primMulNat0(vuz3180, vuz3190), vuz372, new_primMulNat0(vuz3180, vuz3190), vuz371) new_primDivNatS1(Succ(Zero), Succ(vuz549000)) -> Zero new_esEs(Pos(Zero)) -> new_primEqInt1 new_primQuotInt72(Zero, Zero, vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt18(Zero, Zero, Succ(vuz31900), vuz3170) new_primQuotInt24(Succ(vuz4060), vuz407, vuz3190) -> new_primQuotInt19(Succ(vuz4060), Succ(vuz4060), vuz3190, Zero) new_primQuotInt67(Zero, Zero, vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt68(Zero, Zero, Succ(vuz31900), vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt16(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_quot0(Neg(vuz3190), Pos(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt80(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_absReal1(vuz554, Pos(Succ(vuz55500))) -> new_absReal10(vuz554) new_gcd0Gcd'10(False, vuz542, vuz549) -> new_gcd0Gcd'00(vuz542, new_rem(vuz549, vuz542)) new_primQuotInt30(vuz374, vuz377, vuz491, vuz376, vuz490, vuz375) -> new_primQuotInt25(vuz374, new_primEqInt3(new_primPlusNat1(vuz377, vuz491)), new_primPlusNat1(vuz377, vuz491), vuz375) new_primQuotInt74(Zero, Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt19(Succ(vuz4480), Succ(vuz4480), Succ(vuz31900), vuz3170) new_absReal1(vuz554, Pos(Zero)) -> new_absReal11(vuz554) new_primQuotInt74(Succ(vuz4490), Zero, vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt22(Succ(vuz4490), Succ(vuz4490), Succ(vuz31900), vuz3170) new_primQuotInt25(vuz374, True, vuz511, vuz375) -> new_primQuotInt27(vuz374, new_esEs(Neg(vuz375)), vuz511, vuz375) new_absReal11(vuz554) -> new_absReal10(vuz554) new_primQuotInt56(Succ(vuz4570), Zero, vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt45(Succ(vuz4570), Succ(vuz4570), vuz3190, Succ(vuz31700)) new_primQuotInt32(vuz416, Neg(Succ(vuz54900))) -> Neg(new_primDivNatS1(vuz416, vuz54900)) new_primQuotInt56(Zero, Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt48(Succ(vuz4560), Succ(vuz4560), vuz3190, Succ(vuz31700)) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Zero), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt74(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primQuotInt47(Zero, Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt48(Succ(vuz4300), Succ(vuz4300), Succ(vuz31900), vuz3170) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primEqInt4(Zero) -> new_primEqInt1 new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Succ(vuz31800)), Pos(Zero), ty_Int) -> new_primQuotInt71(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt64(vuz394, vuz397, Neg(vuz3180), vuz3190, vuz396, vuz395) -> new_primQuotInt65(vuz394, vuz397, new_primMulNat0(vuz3180, vuz3190), vuz396, new_primMulNat0(vuz3180, vuz3190), vuz395) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt19(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Zero), Pos(Zero), ty_Int) -> new_primQuotInt71(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_quot0(Pos(vuz3190), Neg(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt28(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt11(vuz370, vuz373, vuz485, vuz372, vuz484, vuz371) -> new_primQuotInt12(vuz370, vuz485, vuz373, vuz371) new_primDivNatS01(vuz574, vuz575, Succ(vuz5760), Succ(vuz5770)) -> new_primDivNatS01(vuz574, vuz575, vuz5760, vuz5770) new_primQuotInt13(vuz348, False, vuz349, vuz3190, vuz3170) -> new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) new_quot(Pos(Zero), Pos(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt62(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot0(Pos(vuz3190), Pos(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt79(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt32(vuz416, Pos(Zero)) -> new_error new_primQuotInt20(vuz446, False, vuz447, vuz3190, vuz3170) -> new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) new_primMulNat0(Zero, Zero) -> Zero new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Zero), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt67(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_abs0(vuz3190, vuz3170) -> new_absReal1(new_sr(Pos(vuz3190), Neg(vuz3170)), new_sr(Pos(vuz3190), Neg(vuz3170))) new_primQuotInt12(vuz366, Succ(vuz3690), Zero, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(Succ(vuz3690)), Succ(vuz3690), vuz367) new_primQuotInt59(vuz378, vuz381, Neg(vuz3180), vuz3190, vuz380, vuz379) -> new_primQuotInt38(vuz378, vuz381, new_primMulNat0(vuz3180, vuz3190), vuz380, new_primMulNat0(vuz3180, vuz3190), vuz379) new_primQuotInt85(vuz370, vuz508, vuz371) -> new_primQuotInt31(vuz370, new_esEs(new_abs(vuz371)), new_abs1(vuz508), new_abs(vuz371)) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Succ(vuz31800)), Neg(Zero), ty_Int) -> new_primQuotInt40(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt78(vuz366, vuz369, Pos(vuz3180), vuz3190, vuz368, vuz367) -> new_primQuotInt65(vuz366, vuz369, new_primMulNat0(vuz3180, vuz3190), vuz368, new_primMulNat0(vuz3180, vuz3190), vuz367) new_primQuotInt40(Succ(vuz4540), vuz455, vuz3170) -> new_primQuotInt19(Succ(vuz4540), Succ(vuz4540), Zero, vuz3170) new_primQuotInt29(vuz374, vuz377, vuz489, vuz376, vuz488, vuz375) -> new_primQuotInt39(vuz374, vuz489, vuz377, vuz375) new_primQuotInt19(vuz446, vuz447, vuz3190, vuz3170) -> new_primQuotInt20(vuz446, new_esEs(Neg(vuz447)), vuz447, vuz3190, vuz3170) new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt74(Zero, Zero, vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt22(Zero, Zero, Succ(vuz31900), vuz3170) new_primQuotInt51(vuz428, True, vuz429, vuz3190, vuz3170) -> new_primQuotInt82(vuz428, new_esEs(new_sr(Pos(vuz3190), Neg(vuz3170))), vuz429, vuz3190, vuz3170) new_primQuotInt90(vuz370, vuz373, vuz487, vuz372, vuz486, vuz371) -> new_primQuotInt91(vuz370, new_primEqInt3(new_primPlusNat1(vuz373, vuz487)), new_primPlusNat1(vuz373, vuz487), vuz371) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primQuotInt32(vuz416, Pos(Succ(vuz54900))) -> Pos(new_primDivNatS1(vuz416, vuz54900)) new_primQuotInt83(vuz366, True, vuz505, vuz367) -> new_primQuotInt44(vuz366) new_primQuotInt33(vuz398, False, vuz399, vuz3190, vuz3170) -> new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) new_primQuotInt36(Succ(vuz4090), Zero, vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt18(Succ(vuz4090), Succ(vuz4090), vuz3190, Succ(vuz31700)) new_quot(Neg(Succ(vuz31600)), Neg(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt75(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt81(vuz390, vuz393, Neg(vuz3180), vuz3190, vuz392, vuz391) -> new_primQuotInt11(vuz390, vuz393, new_primMulNat0(vuz3180, vuz3190), vuz392, new_primMulNat0(vuz3180, vuz3190), vuz391) new_primQuotInt71(Succ(vuz4240), vuz425, vuz3170) -> new_primQuotInt50(Succ(vuz4240), Succ(vuz4240), Zero, vuz3170) new_primQuotInt40(Zero, vuz455, vuz3170) -> new_primQuotInt22(Zero, Zero, Zero, vuz3170) new_negate0(Neg(vuz300)) -> Pos(vuz300) new_primQuotInt62(Zero, Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt19(Succ(vuz4000), Succ(vuz4000), vuz3190, Succ(vuz31700)) new_reduce2Reduce1(vuz316, vuz317, vuz318, vuz319, False, ba) -> :%(new_quot(vuz316, vuz317, vuz318, vuz319, ba), new_quot0(vuz319, vuz317, vuz316, vuz318, ba)) new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) -> new_primQuotInt10(vuz428, new_esEs(new_abs0(vuz3190, vuz3170)), new_abs1(vuz429), new_abs0(vuz3190, vuz3170)) new_primQuotInt73(Succ(vuz4440), vuz445, vuz3170) -> new_primQuotInt17(Succ(vuz4440), Succ(vuz4440), Zero, vuz3170) new_primQuotInt87(vuz446, True, vuz447, vuz3190, vuz3170) -> new_primQuotInt55(vuz446) new_primQuotInt71(Zero, vuz425, vuz3170) -> new_primQuotInt68(Zero, Zero, Zero, vuz3170) new_primQuotInt13(vuz348, True, vuz349, vuz3190, vuz3170) -> new_primQuotInt15(vuz348, new_esEs(new_sr(Pos(vuz3190), Pos(vuz3170))), vuz349, vuz3190, vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Succ(vuz31800)), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt72(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_primQuotInt69(vuz366, False, vuz505, vuz367) -> new_primQuotInt49(vuz366, vuz505, vuz367) new_primMinusNatS2(Zero, Zero) -> Zero new_primQuotInt84(vuz370, True, vuz508, vuz371) -> new_primQuotInt44(vuz370) new_primQuotInt25(vuz374, False, vuz511, vuz375) -> new_primQuotInt26(vuz374, vuz511, vuz375) new_primQuotInt39(vuz374, Zero, Zero, vuz375) -> new_primQuotInt54(vuz374, new_primEqInt4(Zero), Zero, vuz375) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt86(vuz416, False, vuz417, vuz3190, vuz3170) -> new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) new_primQuotInt10(vuz428, False, vuz552, vuz544) -> new_primQuotInt70(vuz428, new_gcd0Gcd'2(vuz544, vuz552)) new_quot(Neg(vuz3160), Neg(vuz3170), Neg(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt45(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_quot(Pos(Zero), Pos(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt16(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt35(vuz398, True, vuz399, vuz3190, vuz3170) -> new_primQuotInt44(vuz398) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt17(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt23(vuz416, False, vuz417, vuz3190, vuz3170) -> new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) new_sr(Pos(vuz30610), Neg(vuz30710)) -> Neg(new_primMulNat0(vuz30610, vuz30710)) new_sr(Neg(vuz30610), Pos(vuz30710)) -> Neg(new_primMulNat0(vuz30610, vuz30710)) new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primPlusNat1(Succ(vuz33500), Succ(vuz3071000)) -> Succ(Succ(new_primPlusNat1(vuz33500, vuz3071000))) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primQuotInt46(vuz360, False, vuz361, vuz3190, vuz3170) -> new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Succ(vuz31800)), Pos(Zero), ty_Int) -> new_primQuotInt73(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primDivNatS01(vuz574, vuz575, Zero, Zero) -> new_primDivNatS02(vuz574, vuz575) new_primQuotInt33(vuz398, True, vuz399, vuz3190, vuz3170) -> new_primQuotInt35(vuz398, new_esEs(new_sr(Pos(vuz3190), Pos(vuz3170))), vuz399, vuz3190, vuz3170) new_primQuotInt70(vuz428, Pos(Succ(vuz55200))) -> Neg(new_primDivNatS1(vuz428, vuz55200)) new_absReal1(vuz554, Neg(Zero)) -> new_absReal11(vuz554) new_primQuotInt56(Zero, Zero, vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt45(Zero, Zero, vuz3190, Succ(vuz31700)) new_primQuotInt39(vuz374, Succ(vuz4890), Zero, vuz375) -> new_primQuotInt54(vuz374, new_primEqInt4(Succ(vuz4890)), Succ(vuz4890), vuz375) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Succ(vuz31800)), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt47(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt63(vuz378, False, vuz514, vuz379) -> new_primQuotInt41(vuz378, vuz514, vuz379) new_abs2(vuz3190, vuz3170) -> new_absReal1(new_sr(Neg(vuz3190), Neg(vuz3170)), new_sr(Neg(vuz3190), Neg(vuz3170))) new_primQuotInt68(vuz354, vuz355, vuz3190, vuz3170) -> new_primQuotInt92(vuz354, new_esEs(Pos(vuz355)), vuz355, vuz3190, vuz3170) new_primQuotInt36(Zero, Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt17(Succ(vuz4080), Succ(vuz4080), vuz3190, Succ(vuz31700)) new_rem(Pos(vuz5490), Pos(Zero)) -> new_error new_quot(Pos(Succ(vuz31600)), Pos(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt36(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt77(Succ(vuz4700), vuz471, vuz3190) -> new_primQuotInt50(Succ(vuz4700), Succ(vuz4700), vuz3190, Zero) new_primQuotInt67(Succ(vuz4190), Zero, vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt68(Succ(vuz4190), Succ(vuz4190), Succ(vuz31900), vuz3170) new_primQuotInt65(vuz366, vuz369, vuz481, vuz368, vuz480, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(new_primPlusNat1(vuz369, vuz481)), new_primPlusNat1(vuz369, vuz481), vuz367) new_primQuotInt31(vuz416, False, vuz549, vuz542) -> new_primQuotInt32(vuz416, new_gcd0Gcd'2(vuz542, vuz549)) new_primQuotInt82(vuz428, True, vuz429, vuz3190, vuz3170) -> new_primQuotInt55(vuz428) new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) -> new_primQuotInt10(vuz348, new_esEs(new_abs3(vuz3190, vuz3170)), new_abs1(vuz349), new_abs3(vuz3190, vuz3170)) new_gcd0Gcd'2(vuz542, vuz549) -> new_gcd0Gcd'10(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) new_primQuotInt77(Zero, vuz471, vuz3190) -> new_primQuotInt68(Zero, Zero, vuz3190, Zero) new_primQuotInt66(vuz426, False, vuz427, vuz3190, vuz3170) -> new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Succ(vuz31800)), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt67(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt48(vuz426, vuz427, vuz3190, vuz3170) -> new_primQuotInt66(vuz426, new_esEs(Neg(vuz427)), vuz427, vuz3190, vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt24(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt22(vuz416, vuz417, vuz3190, vuz3170) -> new_primQuotInt23(vuz416, new_esEs(Pos(vuz417)), vuz417, vuz3190, vuz3170) new_sr(Neg(vuz30610), Neg(vuz30710)) -> Pos(new_primMulNat0(vuz30610, vuz30710)) new_primDivNatS01(vuz574, vuz575, Succ(vuz5760), Zero) -> new_primDivNatS02(vuz574, vuz575) new_primQuotInt89(vuz426, False, vuz427, vuz3190, vuz3170) -> new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) new_esEs0(vuz3061, vuz3071, ty_Integer) -> error([]) new_primQuotInt87(vuz446, False, vuz447, vuz3190, vuz3170) -> new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) new_negate0(Pos(vuz300)) -> Neg(vuz300) new_primQuotInt64(vuz394, vuz397, Pos(vuz3180), vuz3190, vuz396, vuz395) -> new_primQuotInt52(vuz394, vuz397, new_primMulNat0(vuz3180, vuz3190), vuz396, new_primMulNat0(vuz3180, vuz3190), vuz395) new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) -> new_primQuotInt10(vuz446, new_esEs(new_abs4(vuz3190, vuz3170)), new_abs1(vuz447), new_abs4(vuz3190, vuz3170)) new_primQuotInt42(vuz354, True, vuz355, vuz3190, vuz3170) -> new_primQuotInt44(vuz354) new_primQuotInt76(Succ(vuz4650), Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt76(vuz4650, vuz4640, vuz4650, vuz4640, vuz3190, vuz31700) new_primQuotInt72(Succ(vuz4390), Zero, vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt18(Succ(vuz4390), Succ(vuz4390), Succ(vuz31900), vuz3170) new_primQuotInt59(vuz378, vuz381, Pos(vuz3180), vuz3190, vuz380, vuz379) -> new_primQuotInt53(vuz378, vuz381, new_primMulNat0(vuz3180, vuz3190), vuz380, new_primMulNat0(vuz3180, vuz3190), vuz379) new_primQuotInt75(Zero, vuz463, vuz3190) -> new_primQuotInt45(Zero, Zero, vuz3190, Zero) new_primEqInt3(Zero) -> new_primEqInt2 new_primMinusNatS1 -> Zero new_negate(:%(vuz30, vuz31)) -> :%(new_negate0(vuz30), vuz31) new_primQuotInt70(vuz428, Neg(Zero)) -> new_error new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_quot(Pos(vuz3160), Pos(vuz3170), Neg(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt22(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_gcd0Gcd'10(True, vuz542, vuz549) -> vuz542 new_primQuotInt12(vuz366, Succ(vuz3690), Succ(vuz4830), vuz367) -> new_primQuotInt12(vuz366, vuz3690, vuz4830, vuz367) new_primQuotInt57(vuz382, vuz385, Pos(vuz3180), vuz3190, vuz384, vuz383) -> new_primQuotInt38(vuz382, vuz385, new_primMulNat0(vuz3180, vuz3190), vuz384, new_primMulNat0(vuz3180, vuz3190), vuz383) new_primEqInt4(Succ(vuz3250)) -> new_primEqInt(vuz3250) new_primQuotInt78(vuz366, vuz369, Neg(vuz3180), vuz3190, vuz368, vuz367) -> new_primQuotInt52(vuz366, vuz369, new_primMulNat0(vuz3180, vuz3190), vuz368, new_primMulNat0(vuz3180, vuz3190), vuz367) new_quot0(Neg(vuz3190), Neg(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt64(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Zero), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt47(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_absReal10(vuz554) -> vuz554 new_primQuotInt52(vuz366, vuz369, vuz483, vuz368, vuz482, vuz367) -> new_primQuotInt12(vuz366, vuz369, vuz483, vuz367) new_primQuotInt86(vuz416, True, vuz417, vuz3190, vuz3170) -> new_primQuotInt44(vuz416) new_primQuotInt45(vuz360, vuz361, vuz3190, vuz3170) -> new_primQuotInt46(vuz360, new_esEs(Pos(vuz361)), vuz361, vuz3190, vuz3170) new_primQuotInt12(vuz366, Zero, Succ(vuz4830), vuz367) -> new_primQuotInt91(vuz366, new_primEqInt3(Succ(vuz4830)), Succ(vuz4830), vuz367) new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_primQuotInt17(vuz348, vuz349, vuz3190, vuz3170) -> new_primQuotInt13(vuz348, new_esEs(Neg(vuz349)), vuz349, vuz3190, vuz3170) new_primQuotInt67(Zero, Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt50(Succ(vuz4180), Succ(vuz4180), Succ(vuz31900), vuz3170) new_primQuotInt92(vuz354, False, vuz355, vuz3190, vuz3170) -> new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) new_quot(Pos(Zero), Pos(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt24(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt75(Succ(vuz4620), vuz463, vuz3190) -> new_primQuotInt48(Succ(vuz4620), Succ(vuz4620), vuz3190, Zero) new_primQuotInt70(vuz428, Neg(Succ(vuz55200))) -> Pos(new_primDivNatS1(vuz428, vuz55200)) new_quot(Pos(vuz3160), Pos(vuz3170), Pos(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt18(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primPlusNat0(Succ(vuz3350), vuz307100) -> Succ(Succ(new_primPlusNat1(vuz3350, vuz307100))) new_primQuotInt84(vuz370, False, vuz508, vuz371) -> new_primQuotInt85(vuz370, vuz508, vuz371) new_primQuotInt42(vuz354, False, vuz355, vuz3190, vuz3170) -> new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) -> new_primQuotInt31(vuz354, new_esEs(new_abs0(vuz3190, vuz3170)), new_abs(vuz355), new_abs0(vuz3190, vuz3170)) new_primEqInt2 -> True new_primQuotInt62(Zero, Zero, vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt22(Zero, Zero, vuz3190, Succ(vuz31700)) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_primPlusNat1(Zero, Zero) -> Zero new_primQuotInt16(Succ(vuz4140), vuz415, vuz3190) -> new_primQuotInt17(Succ(vuz4140), Succ(vuz4140), vuz3190, Zero) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMulNat0(Succ(vuz306100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz307100)) -> Zero new_primQuotInt16(Zero, vuz415, vuz3190) -> new_primQuotInt18(Zero, Zero, vuz3190, Zero) new_sr(Pos(vuz30610), Pos(vuz30710)) -> Pos(new_primMulNat0(vuz30610, vuz30710)) new_primQuotInt55(vuz426) -> error([]) new_primQuotInt12(vuz366, Zero, Zero, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(Zero), Zero, vuz367) new_primPlusNat0(Zero, vuz307100) -> Succ(vuz307100) new_primQuotInt92(vuz354, True, vuz355, vuz3190, vuz3170) -> new_primQuotInt42(vuz354, new_esEs(new_sr(Pos(vuz3190), Neg(vuz3170))), vuz355, vuz3190, vuz3170) new_primQuotInt72(Zero, Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt17(Succ(vuz4380), Succ(vuz4380), Succ(vuz31900), vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt62(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) -> new_primQuotInt10(vuz426, new_esEs(new_abs2(vuz3190, vuz3170)), new_abs1(vuz427), new_abs2(vuz3190, vuz3170)) new_primQuotInt91(vuz370, True, vuz508, vuz371) -> new_primQuotInt84(vuz370, new_esEs(Pos(vuz371)), vuz508, vuz371) new_primQuotInt51(vuz428, False, vuz429, vuz3190, vuz3170) -> new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt47(Succ(vuz4310), Zero, vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt45(Succ(vuz4310), Succ(vuz4310), Succ(vuz31900), vuz3170) new_primQuotInt83(vuz366, False, vuz505, vuz367) -> new_primQuotInt49(vuz366, vuz505, vuz367) new_quot(Neg(Zero), Neg(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt75(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primEqInt0(vuz3260) -> False new_primQuotInt18(vuz398, vuz399, vuz3190, vuz3170) -> new_primQuotInt33(vuz398, new_esEs(Pos(vuz399)), vuz399, vuz3190, vuz3170) new_abs3(vuz3190, vuz3170) -> new_absReal1(new_sr(Pos(vuz3190), Pos(vuz3170)), new_sr(Pos(vuz3190), Pos(vuz3170))) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Zero), Pos(Zero), ty_Int) -> new_primQuotInt73(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt28(vuz374, vuz377, Pos(vuz3180), vuz3190, vuz376, vuz375) -> new_primQuotInt29(vuz374, vuz377, new_primMulNat0(vuz3180, vuz3190), vuz376, new_primMulNat0(vuz3180, vuz3190), vuz375) new_primQuotInt58(Succ(vuz4360), vuz437, vuz3170) -> new_primQuotInt48(Succ(vuz4360), Succ(vuz4360), Zero, vuz3170) new_quot(Neg(vuz3160), Neg(vuz3170), Pos(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt68(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primMulNat0(Succ(vuz306100), Succ(vuz307100)) -> new_primPlusNat0(new_primMulNat0(vuz306100, Succ(vuz307100)), vuz307100) new_primQuotInt10(vuz428, True, vuz552, vuz544) -> new_primQuotInt70(vuz428, vuz552) new_primQuotInt49(vuz366, vuz505, vuz367) -> new_primQuotInt31(vuz366, new_esEs(new_abs(vuz367)), new_abs(vuz505), new_abs(vuz367)) new_primEqInt3(Succ(vuz3260)) -> new_primEqInt0(vuz3260) new_primQuotInt61(vuz360, False, vuz361, vuz3190, vuz3170) -> new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) new_primQuotInt61(vuz360, True, vuz361, vuz3190, vuz3170) -> new_primQuotInt44(vuz360) new_primQuotInt54(vuz378, True, vuz514, vuz379) -> new_primQuotInt63(vuz378, new_esEs(Neg(vuz379)), vuz514, vuz379) new_primPlusNat1(Succ(vuz33500), Zero) -> Succ(vuz33500) new_primPlusNat1(Zero, Succ(vuz3071000)) -> Succ(vuz3071000) new_primQuotInt82(vuz428, False, vuz429, vuz3190, vuz3170) -> new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primQuotInt74(Succ(vuz4490), Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt74(vuz4490, vuz4480, vuz4490, vuz4480, vuz31900, vuz3170) new_primQuotInt38(vuz378, vuz381, vuz495, vuz380, vuz494, vuz379) -> new_primQuotInt39(vuz378, vuz381, vuz495, vuz379) new_primQuotInt66(vuz426, True, vuz427, vuz3190, vuz3170) -> new_primQuotInt89(vuz426, new_esEs(new_sr(Neg(vuz3190), Neg(vuz3170))), vuz427, vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Zero), Neg(Zero), ty_Int) -> new_primQuotInt58(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt24(Zero, vuz407, vuz3190) -> new_primQuotInt22(Zero, Zero, vuz3190, Zero) new_quot0(vuz319, vuz317, vuz316, vuz318, ty_Integer) -> error([]) new_primQuotInt70(vuz428, Pos(Zero)) -> new_error new_esEs0(vuz3061, vuz3071, ty_Int) -> new_esEs(new_sr(vuz3061, vuz3071)) new_primQuotInt76(Succ(vuz4650), Zero, vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt68(Succ(vuz4650), Succ(vuz4650), vuz3190, Succ(vuz31700)) new_primDivNatS1(Succ(Succ(vuz41600)), Succ(vuz549000)) -> new_primDivNatS01(vuz41600, vuz549000, vuz41600, vuz549000) new_primEqInt1 -> True new_quot0(Pos(vuz3190), Neg(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt59(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt41(vuz378, vuz514, vuz379) -> new_primQuotInt10(vuz378, new_esEs(new_abs1(vuz379)), new_abs(vuz514), new_abs1(vuz379)) new_primEqInt(vuz3250) -> False new_ps(:%(vuz3060, vuz3061), :%(vuz3070, vuz3071), h) -> new_reduce2Reduce1(vuz3060, vuz3071, vuz3070, vuz3061, new_esEs0(vuz3061, vuz3071, h), h) new_primQuotInt54(vuz378, False, vuz514, vuz379) -> new_primQuotInt41(vuz378, vuz514, vuz379) new_primQuotInt23(vuz416, True, vuz417, vuz3190, vuz3170) -> new_primQuotInt86(vuz416, new_esEs(new_sr(Neg(vuz3190), Pos(vuz3170))), vuz417, vuz3190, vuz3170) new_reduce2Reduce1(vuz316, vuz317, vuz318, vuz319, True, ba) -> error([]) new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) -> new_primQuotInt31(vuz416, new_esEs(new_abs4(vuz3190, vuz3170)), new_abs(vuz417), new_abs4(vuz3190, vuz3170)) new_primQuotInt26(vuz374, vuz511, vuz375) -> new_primQuotInt10(vuz374, new_esEs(new_abs1(vuz375)), new_abs1(vuz511), new_abs1(vuz375)) new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_quot(Neg(Succ(vuz31600)), Neg(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt56(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt32(vuz416, Neg(Zero)) -> new_error new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_gcd0Gcd'00(vuz542, vuz557) -> new_gcd0Gcd'2(vuz557, vuz542) new_abs(vuz399) -> new_absReal1(Pos(vuz399), Pos(vuz399)) new_quot(vuz316, vuz317, vuz318, vuz319, ty_Integer) -> error([]) new_quot0(Pos(vuz3190), Pos(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt78(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt47(Succ(vuz4310), Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt47(vuz4310, vuz4300, vuz4310, vuz4300, vuz31900, vuz3170) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt50(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt15(vuz348, False, vuz349, vuz3190, vuz3170) -> new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) new_primModNatS1(Zero, vuz54200) -> Zero new_quot(Pos(Zero), Pos(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt36(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(Zero), Neg(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt76(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt46(vuz360, True, vuz361, vuz3190, vuz3170) -> new_primQuotInt61(vuz360, new_esEs(new_sr(Neg(vuz3190), Neg(vuz3170))), vuz361, vuz3190, vuz3170) new_quot(Neg(Succ(vuz31600)), Neg(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt77(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_quot0(Neg(vuz3190), Neg(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt81(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) -> new_primQuotInt31(vuz360, new_esEs(new_abs2(vuz3190, vuz3170)), new_abs(vuz361), new_abs2(vuz3190, vuz3170)) new_error -> error([]) new_primQuotInt36(Succ(vuz4090), Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt36(vuz4090, vuz4080, vuz4090, vuz4080, vuz3190, vuz31700) new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) -> new_primQuotInt31(vuz398, new_esEs(new_abs3(vuz3190, vuz3170)), new_abs(vuz399), new_abs3(vuz3190, vuz3170)) new_primQuotInt35(vuz398, False, vuz399, vuz3190, vuz3170) -> new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) new_primQuotInt62(Succ(vuz4010), Zero, vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt22(Succ(vuz4010), Succ(vuz4010), vuz3190, Succ(vuz31700)) new_primQuotInt63(vuz378, True, vuz514, vuz379) -> new_primQuotInt55(vuz378) new_primQuotInt72(Succ(vuz4390), Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt72(vuz4390, vuz4380, vuz4390, vuz4380, vuz31900, vuz3170) new_primQuotInt39(vuz374, Succ(vuz4890), Succ(vuz3770), vuz375) -> new_primQuotInt39(vuz374, vuz4890, vuz3770, vuz375) new_absReal1(vuz554, Neg(Succ(vuz55500))) -> new_negate0(vuz554) new_primQuotInt31(vuz416, True, vuz549, vuz542) -> new_primQuotInt32(vuz416, vuz549) new_primQuotInt91(vuz370, False, vuz508, vuz371) -> new_primQuotInt85(vuz370, vuz508, vuz371) new_primQuotInt58(Zero, vuz437, vuz3170) -> new_primQuotInt45(Zero, Zero, Zero, vuz3170) new_primQuotInt89(vuz426, True, vuz427, vuz3190, vuz3170) -> new_primQuotInt55(vuz426) new_primQuotInt47(Zero, Zero, vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt45(Zero, Zero, Succ(vuz31900), vuz3170) The set Q consists of the following terms: new_primQuotInt20(x0, True, x1, x2, x3) new_primQuotInt26(x0, x1, x2) new_primPlusNat1(Succ(x0), Zero) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primQuotInt23(x0, True, x1, x2, x3) new_primQuotInt15(x0, True, x1, x2, x3) new_primMinusNatS2(Succ(x0), Zero) new_primQuotInt85(x0, x1, x2) new_quot(Pos(x0), Neg(x1), Pos(Succ(x2)), Pos(Zero), ty_Int) new_quot(Neg(x0), Pos(x1), Pos(Succ(x2)), Pos(Zero), ty_Int) new_primQuotInt91(x0, True, x1, x2) new_primQuotInt48(x0, x1, x2, x3) new_absReal1(x0, Neg(Zero)) new_primQuotInt92(x0, True, x1, x2, x3) new_primDivNatS1(Zero, x0) new_quot(Pos(x0), Neg(x1), Neg(Succ(x2)), Neg(Zero), ty_Int) new_quot(Neg(x0), Pos(x1), Neg(Succ(x2)), Neg(Zero), ty_Int) new_primDivNatS1(Succ(Zero), Zero) new_primQuotInt67(Succ(x0), Succ(x1), x2, x3, x4, x5) new_primQuotInt28(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt58(Zero, x0, x1) new_primQuotInt70(x0, Pos(Succ(x1))) new_primQuotInt12(x0, Succ(x1), Succ(x2), x3) new_primMulNat0(Zero, Zero) new_primPlusNat1(Zero, Zero) new_primQuotInt86(x0, False, x1, x2, x3) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primQuotInt75(Succ(x0), x1, x2) new_primPlusNat0(Zero, x0) new_primQuotInt60(x0, x1, x2, x3) new_absReal1(x0, Pos(Zero)) new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) new_primQuotInt87(x0, False, x1, x2, x3) new_primDivNatS01(x0, x1, Zero, Zero) new_esEs0(x0, x1, ty_Int) new_primQuotInt54(x0, True, x1, x2) new_primQuotInt28(x0, x1, Neg(x2), x3, x4, x5) new_primQuotInt41(x0, x1, x2) new_primQuotInt63(x0, False, x1, x2) new_primEqInt1 new_primQuotInt44(x0) new_primQuotInt53(x0, x1, x2, x3, x4, x5) new_quot0(Neg(x0), Neg(x1), Neg(x2), x3, ty_Int) new_primQuotInt31(x0, True, x1, x2) new_primQuotInt39(x0, Succ(x1), Zero, x2) new_primDivNatS1(Succ(Zero), Succ(x0)) new_quot(Neg(x0), Neg(x1), Neg(x2), Neg(x3), ty_Int) new_quot0(Neg(x0), Pos(x1), Pos(x2), x3, ty_Int) new_quot0(Pos(x0), Neg(x1), Pos(x2), x3, ty_Int) new_quot0(Pos(x0), Pos(x1), Neg(x2), x3, ty_Int) new_primQuotInt82(x0, False, x1, x2, x3) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_quot(Pos(x0), Neg(x1), Pos(x2), Neg(x3), ty_Int) new_quot(Neg(x0), Pos(x1), Pos(x2), Neg(x3), ty_Int) new_quot(Neg(x0), Pos(x1), Neg(x2), Pos(x3), ty_Int) new_quot(Pos(x0), Pos(x1), Neg(x2), Neg(x3), ty_Int) new_quot(Neg(x0), Neg(x1), Pos(x2), Pos(x3), ty_Int) new_quot(Pos(x0), Neg(x1), Neg(x2), Pos(x3), ty_Int) new_primQuotInt40(Zero, x0, x1) new_error new_primQuotInt50(x0, x1, x2, x3) new_primQuotInt71(Succ(x0), x1, x2) new_primQuotInt46(x0, True, x1, x2, x3) new_primQuotInt32(x0, Neg(Succ(x1))) new_primQuotInt90(x0, x1, x2, x3, x4, x5) new_primQuotInt9(x0, x1, x2, x3) new_primQuotInt13(x0, True, x1, x2, x3) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primQuotInt79(x0, x1, Neg(x2), x3, x4, x5) new_negate(:%(x0, x1)) new_primQuotInt56(Zero, Zero, x0, x1, x2, x3) new_primQuotInt40(Succ(x0), x1, x2) new_primQuotInt66(x0, False, x1, x2, x3) new_primQuotInt74(Zero, Zero, x0, x1, x2, x3) new_quot(Pos(x0), Neg(x1), Pos(Zero), Pos(Zero), ty_Int) new_quot(Neg(x0), Pos(x1), Pos(Zero), Pos(Zero), ty_Int) new_primQuotInt80(x0, x1, Neg(x2), x3, x4, x5) new_primQuotInt12(x0, Zero, Succ(x1), x2) new_primQuotInt10(x0, True, x1, x2) new_primQuotInt72(Zero, Succ(x0), x1, x2, x3, x4) new_primQuotInt56(Succ(x0), Zero, x1, x2, x3, x4) new_primQuotInt69(x0, True, x1, x2) new_primQuotInt36(Succ(x0), Zero, x1, x2, x3, x4) new_primQuotInt25(x0, True, x1, x2) new_ps(:%(x0, x1), :%(x2, x3), x4) new_primQuotInt68(x0, x1, x2, x3) new_abs2(x0, x1) new_primQuotInt17(x0, x1, x2, x3) new_rem(Neg(x0), Neg(Succ(x1))) new_quot(Neg(x0), Pos(x1), Neg(Zero), Neg(Zero), ty_Int) new_quot(Pos(x0), Neg(x1), Neg(Zero), Neg(Zero), ty_Int) new_primQuotInt55(x0) new_quot(Pos(Succ(x0)), Pos(Succ(x1)), Neg(x2), Pos(x3), ty_Int) new_primQuotInt84(x0, False, x1, x2) new_quot(Pos(Succ(x0)), Pos(Succ(x1)), Pos(x2), Neg(x3), ty_Int) new_primQuotInt61(x0, False, x1, x2, x3) new_abs4(x0, x1) new_negate0(Neg(x0)) new_primQuotInt33(x0, True, x1, x2, x3) new_primMulNat0(Zero, Succ(x0)) new_primQuotInt57(x0, x1, Neg(x2), x3, x4, x5) new_esEs(Pos(Zero)) new_absReal1(x0, Pos(Succ(x1))) new_quot(Pos(x0), Pos(x1), Pos(x2), Pos(x3), ty_Int) new_quot(Neg(x0), Pos(x1), Neg(Zero), Neg(Succ(x2)), ty_Int) new_quot(Pos(x0), Neg(x1), Neg(Zero), Neg(Succ(x2)), ty_Int) new_primQuotInt84(x0, True, x1, x2) new_primQuotInt62(Succ(x0), Zero, x1, x2, x3, x4) new_primModNatS1(Zero, x0) new_primQuotInt73(Zero, x0, x1) new_primQuotInt61(x0, True, x1, x2, x3) new_quot(Pos(Succ(x0)), Pos(Zero), Neg(x1), Pos(x2), ty_Int) new_quot(Pos(Succ(x0)), Pos(Zero), Pos(x1), Neg(x2), ty_Int) new_primModNatS01(x0, x1, Succ(x2), Zero) new_abs1(x0) new_primEqInt3(Zero) new_primQuotInt78(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt39(x0, Zero, Zero, x1) new_primQuotInt46(x0, False, x1, x2, x3) new_primQuotInt21(x0, x1, x2, x3) new_primQuotInt36(Zero, Succ(x0), x1, x2, x3, x4) new_primEqInt4(Succ(x0)) new_primQuotInt62(Succ(x0), Succ(x1), x2, x3, x4, x5) new_quot0(Neg(x0), Pos(x1), Neg(x2), x3, ty_Int) new_quot0(Pos(x0), Neg(x1), Neg(x2), x3, ty_Int) new_quot0(Neg(x0), Neg(x1), Pos(x2), x3, ty_Int) new_primQuotInt31(x0, False, x1, x2) new_primDivNatS02(x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_primQuotInt56(Succ(x0), Succ(x1), x2, x3, x4, x5) new_primQuotInt75(Zero, x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_primQuotInt77(Zero, x0, x1) new_quot(Pos(Zero), Pos(Zero), Neg(x0), Pos(x1), ty_Int) new_quot(Pos(Zero), Pos(Zero), Pos(x0), Neg(x1), ty_Int) new_absReal10(x0) new_primQuotInt30(x0, x1, x2, x3, x4, x5) new_gcd0Gcd'2(x0, x1) new_primQuotInt64(x0, x1, Pos(x2), x3, x4, x5) new_sr(Pos(x0), Neg(x1)) new_sr(Neg(x0), Pos(x1)) new_primQuotInt42(x0, False, x1, x2, x3) new_primQuotInt66(x0, True, x1, x2, x3) new_primQuotInt79(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt32(x0, Pos(Succ(x1))) new_primQuotInt16(Zero, x0, x1) new_primModNatS1(Succ(Succ(x0)), Zero) new_primQuotInt70(x0, Neg(Succ(x1))) new_gcd0Gcd'10(False, x0, x1) new_esEs0(x0, x1, ty_Integer) new_primQuotInt47(Zero, Zero, x0, x1, x2, x3) new_primQuotInt14(x0, x1, x2, x3) new_quot(Pos(Zero), Pos(Succ(x0)), Pos(x1), Neg(x2), ty_Int) new_quot(Pos(Zero), Pos(Succ(x0)), Neg(x1), Pos(x2), ty_Int) new_quot0(x0, x1, x2, x3, ty_Integer) new_primQuotInt18(x0, x1, x2, x3) new_primQuotInt47(Succ(x0), Succ(x1), x2, x3, x4, x5) new_primQuotInt65(x0, x1, x2, x3, x4, x5) new_primMulNat0(Succ(x0), Zero) new_primQuotInt69(x0, False, x1, x2) new_primQuotInt51(x0, True, x1, x2, x3) new_primQuotInt67(Zero, Zero, x0, x1, x2, x3) new_primQuotInt72(Succ(x0), Succ(x1), x2, x3, x4, x5) new_primQuotInt11(x0, x1, x2, x3, x4, x5) new_primQuotInt34(x0, x1, x2, x3) new_quot(Neg(x0), Pos(x1), Pos(Succ(x2)), Pos(Succ(x3)), ty_Int) new_quot(Pos(x0), Neg(x1), Pos(Succ(x2)), Pos(Succ(x3)), ty_Int) new_primQuotInt15(x0, False, x1, x2, x3) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primQuotInt72(Zero, Zero, x0, x1, x2, x3) new_primQuotInt20(x0, False, x1, x2, x3) new_primQuotInt87(x0, True, x1, x2, x3) new_primQuotInt12(x0, Zero, Zero, x1) new_primEqInt0(x0) new_primQuotInt54(x0, False, x1, x2) new_primQuotInt64(x0, x1, Neg(x2), x3, x4, x5) new_primDivNatS01(x0, x1, Succ(x2), Zero) new_primQuotInt42(x0, True, x1, x2, x3) new_primQuotInt92(x0, False, x1, x2, x3) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primDivNatS01(x0, x1, Zero, Succ(x2)) new_primQuotInt76(Zero, Zero, x0, x1, x2, x3) new_primQuotInt38(x0, x1, x2, x3, x4, x5) new_primQuotInt29(x0, x1, x2, x3, x4, x5) new_primQuotInt36(Succ(x0), Succ(x1), x2, x3, x4, x5) new_sr(Neg(x0), Neg(x1)) new_primQuotInt45(x0, x1, x2, x3) new_gcd0Gcd'00(x0, x1) new_quot(Neg(x0), Pos(x1), Neg(Succ(x2)), Neg(Succ(x3)), ty_Int) new_quot(Pos(x0), Neg(x1), Neg(Succ(x2)), Neg(Succ(x3)), ty_Int) new_primQuotInt76(Succ(x0), Zero, x1, x2, x3, x4) new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primQuotInt37(x0, x1, x2, x3) new_primQuotInt12(x0, Succ(x1), Zero, x2) new_primQuotInt71(Zero, x0, x1) new_sr(Pos(x0), Pos(x1)) new_primQuotInt81(x0, x1, Neg(x2), x3, x4, x5) new_primQuotInt83(x0, True, x1, x2) new_absReal11(x0) new_primEqInt(x0) new_gcd0Gcd'10(True, x0, x1) new_primQuotInt58(Succ(x0), x1, x2) new_primQuotInt78(x0, x1, Neg(x2), x3, x4, x5) new_primPlusNat1(Zero, Succ(x0)) new_abs(x0) new_primQuotInt67(Succ(x0), Zero, x1, x2, x3, x4) new_primQuotInt74(Succ(x0), Zero, x1, x2, x3, x4) new_primQuotInt36(Zero, Zero, x0, x1, x2, x3) new_abs3(x0, x1) new_primQuotInt59(x0, x1, Neg(x2), x3, x4, x5) new_primQuotInt57(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt33(x0, False, x1, x2, x3) new_primPlusNat1(Succ(x0), Succ(x1)) new_primQuotInt70(x0, Neg(Zero)) new_primEqInt3(Succ(x0)) new_primQuotInt47(Succ(x0), Zero, x1, x2, x3, x4) new_primQuotInt32(x0, Neg(Zero)) new_primQuotInt88(x0, x1, x2, x3) new_quot(Neg(Succ(x0)), Neg(Succ(x1)), Neg(x2), Pos(x3), ty_Int) new_quot(Neg(Succ(x0)), Neg(Succ(x1)), Pos(x2), Neg(x3), ty_Int) new_primQuotInt59(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt27(x0, False, x1, x2) new_primQuotInt67(Zero, Succ(x0), x1, x2, x3, x4) new_quot(x0, x1, x2, x3, ty_Integer) new_primQuotInt32(x0, Pos(Zero)) new_primQuotInt22(x0, x1, x2, x3) new_primMinusNatS2(Zero, Zero) new_primQuotInt49(x0, x1, x2) new_primQuotInt62(Zero, Succ(x0), x1, x2, x3, x4) new_primQuotInt62(Zero, Zero, x0, x1, x2, x3) new_primModNatS01(x0, x1, Zero, Zero) new_esEs(Pos(Succ(x0))) new_primQuotInt83(x0, False, x1, x2) new_primQuotInt39(x0, Zero, Succ(x1), x2) new_quot(Neg(Zero), Neg(Zero), Neg(x0), Pos(x1), ty_Int) new_primQuotInt35(x0, True, x1, x2, x3) new_quot(Neg(Zero), Neg(Zero), Pos(x0), Neg(x1), ty_Int) new_rem(Pos(x0), Pos(Succ(x1))) new_negate0(Pos(x0)) new_quot0(Pos(x0), Pos(x1), Pos(x2), x3, ty_Int) new_primQuotInt89(x0, False, x1, x2, x3) new_primQuotInt19(x0, x1, x2, x3) new_primQuotInt35(x0, False, x1, x2, x3) new_absReal1(x0, Neg(Succ(x1))) new_abs0(x0, x1) new_primQuotInt47(Zero, Succ(x0), x1, x2, x3, x4) new_primQuotInt24(Zero, x0, x1) new_primQuotInt70(x0, Pos(Zero)) new_primMinusNatS0(x0) new_primQuotInt24(Succ(x0), x1, x2) new_primQuotInt52(x0, x1, x2, x3, x4, x5) new_primQuotInt25(x0, False, x1, x2) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primQuotInt89(x0, True, x1, x2, x3) new_primQuotInt27(x0, True, x1, x2) new_quot(Neg(Zero), Neg(Succ(x0)), Pos(x1), Neg(x2), ty_Int) new_quot(Neg(Zero), Neg(Succ(x0)), Neg(x1), Pos(x2), ty_Int) new_primQuotInt56(Zero, Succ(x0), x1, x2, x3, x4) new_rem(Neg(x0), Neg(Zero)) new_primQuotInt80(x0, x1, Pos(x2), x3, x4, x5) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primQuotInt16(Succ(x0), x1, x2) new_primMinusNatS1 new_primEqInt4(Zero) new_primQuotInt63(x0, True, x1, x2) new_primDivNatS1(Succ(Succ(x0)), Zero) new_primQuotInt76(Succ(x0), Succ(x1), x2, x3, x4, x5) new_primQuotInt10(x0, False, x1, x2) new_primQuotInt91(x0, False, x1, x2) new_primQuotInt74(Zero, Succ(x0), x1, x2, x3, x4) new_primQuotInt73(Succ(x0), x1, x2) new_primQuotInt86(x0, True, x1, x2, x3) new_primModNatS02(x0, x1) new_primQuotInt43(x0, x1, x2, x3) new_primQuotInt81(x0, x1, Pos(x2), x3, x4, x5) new_primQuotInt77(Succ(x0), x1, x2) new_primQuotInt82(x0, True, x1, x2, x3) new_primQuotInt13(x0, False, x1, x2, x3) new_primQuotInt72(Succ(x0), Zero, x1, x2, x3, x4) new_quot(Neg(Succ(x0)), Neg(Zero), Pos(x1), Neg(x2), ty_Int) new_quot(Neg(Succ(x0)), Neg(Zero), Neg(x1), Pos(x2), ty_Int) new_primQuotInt39(x0, Succ(x1), Succ(x2), x3) new_quot(Neg(x0), Pos(x1), Pos(Zero), Pos(Succ(x2)), ty_Int) new_quot(Pos(x0), Neg(x1), Pos(Zero), Pos(Succ(x2)), ty_Int) new_primQuotInt76(Zero, Succ(x0), x1, x2, x3, x4) new_primQuotInt23(x0, False, x1, x2, x3) new_primEqInt2 new_primQuotInt74(Succ(x0), Succ(x1), x2, x3, x4, x5) new_esEs(Neg(Zero)) new_primPlusNat0(Succ(x0), x1) new_primQuotInt51(x0, False, x1, x2, x3) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_iterate(vuz4, vuz3, vuz5) -> new_iterate(vuz4, vuz3, new_ps(new_ps(vuz4, new_negate(vuz3), ty_Int), vuz5, ty_Int)) The TRS R consists of the following rules: new_abs4(vuz3190, vuz3170) -> new_absReal1(new_sr(Neg(vuz3190), Pos(vuz3170)), new_sr(Neg(vuz3190), Pos(vuz3170))) new_primQuotInt44(vuz398) -> error([]) new_primQuotInt80(vuz386, vuz389, Pos(vuz3180), vuz3190, vuz388, vuz387) -> new_primQuotInt30(vuz386, vuz389, new_primMulNat0(vuz3180, vuz3190), vuz388, new_primMulNat0(vuz3180, vuz3190), vuz387) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primQuotInt56(Succ(vuz4570), Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt56(vuz4570, vuz4560, vuz4570, vuz4560, vuz3190, vuz31700) new_primQuotInt27(vuz374, False, vuz511, vuz375) -> new_primQuotInt26(vuz374, vuz511, vuz375) new_primQuotInt62(Succ(vuz4010), Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt62(vuz4010, vuz4000, vuz4010, vuz4000, vuz3190, vuz31700) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Zero), Neg(Zero), ty_Int) -> new_primQuotInt40(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Succ(vuz31800)), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt74(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_abs1(vuz427) -> new_absReal1(Neg(vuz427), Neg(vuz427)) new_quot(Neg(Zero), Neg(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt56(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(Zero), Neg(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt77(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt69(vuz366, True, vuz505, vuz367) -> new_primQuotInt83(vuz366, new_esEs(Pos(vuz367)), vuz505, vuz367) new_primDivNatS1(Zero, vuz54900) -> Zero new_quot(Neg(Succ(vuz31600)), Neg(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt76(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Zero), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt72(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt57(vuz382, vuz385, Neg(vuz3180), vuz3190, vuz384, vuz383) -> new_primQuotInt53(vuz382, vuz385, new_primMulNat0(vuz3180, vuz3190), vuz384, new_primMulNat0(vuz3180, vuz3190), vuz383) new_primDivNatS1(Succ(Succ(vuz41600)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vuz41600), Zero)) new_primQuotInt20(vuz446, True, vuz447, vuz3190, vuz3170) -> new_primQuotInt87(vuz446, new_esEs(new_sr(Neg(vuz3190), Pos(vuz3170))), vuz447, vuz3190, vuz3170) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primQuotInt73(Zero, vuz445, vuz3170) -> new_primQuotInt18(Zero, Zero, Zero, vuz3170) new_primQuotInt80(vuz386, vuz389, Neg(vuz3180), vuz3190, vuz388, vuz387) -> new_primQuotInt29(vuz386, vuz389, new_primMulNat0(vuz3180, vuz3190), vuz388, new_primMulNat0(vuz3180, vuz3190), vuz387) new_primQuotInt15(vuz348, True, vuz349, vuz3190, vuz3170) -> new_primQuotInt55(vuz348) new_quot0(Neg(vuz3190), Pos(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt57(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt81(vuz390, vuz393, Pos(vuz3180), vuz3190, vuz392, vuz391) -> new_primQuotInt90(vuz390, vuz393, new_primMulNat0(vuz3180, vuz3190), vuz392, new_primMulNat0(vuz3180, vuz3190), vuz391) new_primQuotInt27(vuz374, True, vuz511, vuz375) -> new_primQuotInt55(vuz374) new_primQuotInt36(Zero, Zero, vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt18(Zero, Zero, vuz3190, Succ(vuz31700)) new_primDivNatS01(vuz574, vuz575, Zero, Succ(vuz5770)) -> Zero new_primQuotInt67(Succ(vuz4190), Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt67(vuz4190, vuz4180, vuz4190, vuz4180, vuz31900, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt48(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt50(vuz428, vuz429, vuz3190, vuz3170) -> new_primQuotInt51(vuz428, new_esEs(Neg(vuz429)), vuz429, vuz3190, vuz3170) new_primDivNatS02(vuz574, vuz575) -> Succ(new_primDivNatS1(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575))) new_primQuotInt79(vuz370, vuz373, Pos(vuz3180), vuz3190, vuz372, vuz371) -> new_primQuotInt11(vuz370, vuz373, new_primMulNat0(vuz3180, vuz3190), vuz372, new_primMulNat0(vuz3180, vuz3190), vuz371) new_primQuotInt28(vuz374, vuz377, Neg(vuz3180), vuz3190, vuz376, vuz375) -> new_primQuotInt30(vuz374, vuz377, new_primMulNat0(vuz3180, vuz3190), vuz376, new_primMulNat0(vuz3180, vuz3190), vuz375) new_primQuotInt76(Zero, Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt50(Succ(vuz4640), Succ(vuz4640), vuz3190, Succ(vuz31700)) new_primQuotInt76(Zero, Zero, vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt68(Zero, Zero, vuz3190, Succ(vuz31700)) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Succ(vuz31800)), Neg(Zero), ty_Int) -> new_primQuotInt58(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt39(vuz374, Zero, Succ(vuz3770), vuz375) -> new_primQuotInt25(vuz374, new_primEqInt3(Succ(vuz3770)), Succ(vuz3770), vuz375) new_primQuotInt53(vuz378, vuz381, vuz493, vuz380, vuz492, vuz379) -> new_primQuotInt54(vuz378, new_primEqInt4(new_primPlusNat1(vuz381, vuz493)), new_primPlusNat1(vuz381, vuz493), vuz379) new_primQuotInt79(vuz370, vuz373, Neg(vuz3180), vuz3190, vuz372, vuz371) -> new_primQuotInt90(vuz370, vuz373, new_primMulNat0(vuz3180, vuz3190), vuz372, new_primMulNat0(vuz3180, vuz3190), vuz371) new_primDivNatS1(Succ(Zero), Succ(vuz549000)) -> Zero new_esEs(Pos(Zero)) -> new_primEqInt1 new_primQuotInt72(Zero, Zero, vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt18(Zero, Zero, Succ(vuz31900), vuz3170) new_primQuotInt24(Succ(vuz4060), vuz407, vuz3190) -> new_primQuotInt19(Succ(vuz4060), Succ(vuz4060), vuz3190, Zero) new_primQuotInt67(Zero, Zero, vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt68(Zero, Zero, Succ(vuz31900), vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt16(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_quot0(Neg(vuz3190), Pos(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt80(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_absReal1(vuz554, Pos(Succ(vuz55500))) -> new_absReal10(vuz554) new_gcd0Gcd'10(False, vuz542, vuz549) -> new_gcd0Gcd'00(vuz542, new_rem(vuz549, vuz542)) new_primQuotInt30(vuz374, vuz377, vuz491, vuz376, vuz490, vuz375) -> new_primQuotInt25(vuz374, new_primEqInt3(new_primPlusNat1(vuz377, vuz491)), new_primPlusNat1(vuz377, vuz491), vuz375) new_primQuotInt74(Zero, Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt19(Succ(vuz4480), Succ(vuz4480), Succ(vuz31900), vuz3170) new_absReal1(vuz554, Pos(Zero)) -> new_absReal11(vuz554) new_primQuotInt74(Succ(vuz4490), Zero, vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt22(Succ(vuz4490), Succ(vuz4490), Succ(vuz31900), vuz3170) new_primQuotInt25(vuz374, True, vuz511, vuz375) -> new_primQuotInt27(vuz374, new_esEs(Neg(vuz375)), vuz511, vuz375) new_absReal11(vuz554) -> new_absReal10(vuz554) new_primQuotInt56(Succ(vuz4570), Zero, vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt45(Succ(vuz4570), Succ(vuz4570), vuz3190, Succ(vuz31700)) new_primQuotInt32(vuz416, Neg(Succ(vuz54900))) -> Neg(new_primDivNatS1(vuz416, vuz54900)) new_primQuotInt56(Zero, Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt48(Succ(vuz4560), Succ(vuz4560), vuz3190, Succ(vuz31700)) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Zero), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt74(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primQuotInt47(Zero, Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt48(Succ(vuz4300), Succ(vuz4300), Succ(vuz31900), vuz3170) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primEqInt4(Zero) -> new_primEqInt1 new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Succ(vuz31800)), Pos(Zero), ty_Int) -> new_primQuotInt71(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt64(vuz394, vuz397, Neg(vuz3180), vuz3190, vuz396, vuz395) -> new_primQuotInt65(vuz394, vuz397, new_primMulNat0(vuz3180, vuz3190), vuz396, new_primMulNat0(vuz3180, vuz3190), vuz395) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt19(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Zero), Pos(Zero), ty_Int) -> new_primQuotInt71(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_quot0(Pos(vuz3190), Neg(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt28(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt11(vuz370, vuz373, vuz485, vuz372, vuz484, vuz371) -> new_primQuotInt12(vuz370, vuz485, vuz373, vuz371) new_primDivNatS01(vuz574, vuz575, Succ(vuz5760), Succ(vuz5770)) -> new_primDivNatS01(vuz574, vuz575, vuz5760, vuz5770) new_primQuotInt13(vuz348, False, vuz349, vuz3190, vuz3170) -> new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) new_quot(Pos(Zero), Pos(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt62(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot0(Pos(vuz3190), Pos(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt79(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt32(vuz416, Pos(Zero)) -> new_error new_primQuotInt20(vuz446, False, vuz447, vuz3190, vuz3170) -> new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) new_primMulNat0(Zero, Zero) -> Zero new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Zero), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt67(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_abs0(vuz3190, vuz3170) -> new_absReal1(new_sr(Pos(vuz3190), Neg(vuz3170)), new_sr(Pos(vuz3190), Neg(vuz3170))) new_primQuotInt12(vuz366, Succ(vuz3690), Zero, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(Succ(vuz3690)), Succ(vuz3690), vuz367) new_primQuotInt59(vuz378, vuz381, Neg(vuz3180), vuz3190, vuz380, vuz379) -> new_primQuotInt38(vuz378, vuz381, new_primMulNat0(vuz3180, vuz3190), vuz380, new_primMulNat0(vuz3180, vuz3190), vuz379) new_primQuotInt85(vuz370, vuz508, vuz371) -> new_primQuotInt31(vuz370, new_esEs(new_abs(vuz371)), new_abs1(vuz508), new_abs(vuz371)) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(Succ(vuz31800)), Neg(Zero), ty_Int) -> new_primQuotInt40(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt78(vuz366, vuz369, Pos(vuz3180), vuz3190, vuz368, vuz367) -> new_primQuotInt65(vuz366, vuz369, new_primMulNat0(vuz3180, vuz3190), vuz368, new_primMulNat0(vuz3180, vuz3190), vuz367) new_primQuotInt40(Succ(vuz4540), vuz455, vuz3170) -> new_primQuotInt19(Succ(vuz4540), Succ(vuz4540), Zero, vuz3170) new_primQuotInt29(vuz374, vuz377, vuz489, vuz376, vuz488, vuz375) -> new_primQuotInt39(vuz374, vuz489, vuz377, vuz375) new_primQuotInt19(vuz446, vuz447, vuz3190, vuz3170) -> new_primQuotInt20(vuz446, new_esEs(Neg(vuz447)), vuz447, vuz3190, vuz3170) new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt74(Zero, Zero, vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt22(Zero, Zero, Succ(vuz31900), vuz3170) new_primQuotInt51(vuz428, True, vuz429, vuz3190, vuz3170) -> new_primQuotInt82(vuz428, new_esEs(new_sr(Pos(vuz3190), Neg(vuz3170))), vuz429, vuz3190, vuz3170) new_primQuotInt90(vuz370, vuz373, vuz487, vuz372, vuz486, vuz371) -> new_primQuotInt91(vuz370, new_primEqInt3(new_primPlusNat1(vuz373, vuz487)), new_primPlusNat1(vuz373, vuz487), vuz371) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primQuotInt32(vuz416, Pos(Succ(vuz54900))) -> Pos(new_primDivNatS1(vuz416, vuz54900)) new_primQuotInt83(vuz366, True, vuz505, vuz367) -> new_primQuotInt44(vuz366) new_primQuotInt33(vuz398, False, vuz399, vuz3190, vuz3170) -> new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) new_primQuotInt36(Succ(vuz4090), Zero, vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt18(Succ(vuz4090), Succ(vuz4090), vuz3190, Succ(vuz31700)) new_quot(Neg(Succ(vuz31600)), Neg(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt75(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt81(vuz390, vuz393, Neg(vuz3180), vuz3190, vuz392, vuz391) -> new_primQuotInt11(vuz390, vuz393, new_primMulNat0(vuz3180, vuz3190), vuz392, new_primMulNat0(vuz3180, vuz3190), vuz391) new_primQuotInt71(Succ(vuz4240), vuz425, vuz3170) -> new_primQuotInt50(Succ(vuz4240), Succ(vuz4240), Zero, vuz3170) new_primQuotInt40(Zero, vuz455, vuz3170) -> new_primQuotInt22(Zero, Zero, Zero, vuz3170) new_negate0(Neg(vuz300)) -> Pos(vuz300) new_primQuotInt62(Zero, Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt19(Succ(vuz4000), Succ(vuz4000), vuz3190, Succ(vuz31700)) new_reduce2Reduce1(vuz316, vuz317, vuz318, vuz319, False, ba) -> :%(new_quot(vuz316, vuz317, vuz318, vuz319, ba), new_quot0(vuz319, vuz317, vuz316, vuz318, ba)) new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) -> new_primQuotInt10(vuz428, new_esEs(new_abs0(vuz3190, vuz3170)), new_abs1(vuz429), new_abs0(vuz3190, vuz3170)) new_primQuotInt73(Succ(vuz4440), vuz445, vuz3170) -> new_primQuotInt17(Succ(vuz4440), Succ(vuz4440), Zero, vuz3170) new_primQuotInt87(vuz446, True, vuz447, vuz3190, vuz3170) -> new_primQuotInt55(vuz446) new_primQuotInt71(Zero, vuz425, vuz3170) -> new_primQuotInt68(Zero, Zero, Zero, vuz3170) new_primQuotInt13(vuz348, True, vuz349, vuz3190, vuz3170) -> new_primQuotInt15(vuz348, new_esEs(new_sr(Pos(vuz3190), Pos(vuz3170))), vuz349, vuz3190, vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Succ(vuz31800)), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt72(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_primQuotInt69(vuz366, False, vuz505, vuz367) -> new_primQuotInt49(vuz366, vuz505, vuz367) new_primMinusNatS2(Zero, Zero) -> Zero new_primQuotInt84(vuz370, True, vuz508, vuz371) -> new_primQuotInt44(vuz370) new_primQuotInt25(vuz374, False, vuz511, vuz375) -> new_primQuotInt26(vuz374, vuz511, vuz375) new_primQuotInt39(vuz374, Zero, Zero, vuz375) -> new_primQuotInt54(vuz374, new_primEqInt4(Zero), Zero, vuz375) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt86(vuz416, False, vuz417, vuz3190, vuz3170) -> new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) new_primQuotInt10(vuz428, False, vuz552, vuz544) -> new_primQuotInt70(vuz428, new_gcd0Gcd'2(vuz544, vuz552)) new_quot(Neg(vuz3160), Neg(vuz3170), Neg(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt45(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_quot(Pos(Zero), Pos(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt16(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt35(vuz398, True, vuz399, vuz3190, vuz3170) -> new_primQuotInt44(vuz398) new_quot(Neg(vuz3160), Pos(vuz3170), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt17(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt23(vuz416, False, vuz417, vuz3190, vuz3170) -> new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) new_sr(Pos(vuz30610), Neg(vuz30710)) -> Neg(new_primMulNat0(vuz30610, vuz30710)) new_sr(Neg(vuz30610), Pos(vuz30710)) -> Neg(new_primMulNat0(vuz30610, vuz30710)) new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primPlusNat1(Succ(vuz33500), Succ(vuz3071000)) -> Succ(Succ(new_primPlusNat1(vuz33500, vuz3071000))) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primQuotInt46(vuz360, False, vuz361, vuz3190, vuz3170) -> new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Succ(vuz31800)), Pos(Zero), ty_Int) -> new_primQuotInt73(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primDivNatS01(vuz574, vuz575, Zero, Zero) -> new_primDivNatS02(vuz574, vuz575) new_primQuotInt33(vuz398, True, vuz399, vuz3190, vuz3170) -> new_primQuotInt35(vuz398, new_esEs(new_sr(Pos(vuz3190), Pos(vuz3170))), vuz399, vuz3190, vuz3170) new_primQuotInt70(vuz428, Pos(Succ(vuz55200))) -> Neg(new_primDivNatS1(vuz428, vuz55200)) new_absReal1(vuz554, Neg(Zero)) -> new_absReal11(vuz554) new_primQuotInt56(Zero, Zero, vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt45(Zero, Zero, vuz3190, Succ(vuz31700)) new_primQuotInt39(vuz374, Succ(vuz4890), Zero, vuz375) -> new_primQuotInt54(vuz374, new_primEqInt4(Succ(vuz4890)), Succ(vuz4890), vuz375) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Succ(vuz31800)), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt47(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt63(vuz378, False, vuz514, vuz379) -> new_primQuotInt41(vuz378, vuz514, vuz379) new_abs2(vuz3190, vuz3170) -> new_absReal1(new_sr(Neg(vuz3190), Neg(vuz3170)), new_sr(Neg(vuz3190), Neg(vuz3170))) new_primQuotInt68(vuz354, vuz355, vuz3190, vuz3170) -> new_primQuotInt92(vuz354, new_esEs(Pos(vuz355)), vuz355, vuz3190, vuz3170) new_primQuotInt36(Zero, Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt17(Succ(vuz4080), Succ(vuz4080), vuz3190, Succ(vuz31700)) new_rem(Pos(vuz5490), Pos(Zero)) -> new_error new_quot(Pos(Succ(vuz31600)), Pos(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt36(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt77(Succ(vuz4700), vuz471, vuz3190) -> new_primQuotInt50(Succ(vuz4700), Succ(vuz4700), vuz3190, Zero) new_primQuotInt67(Succ(vuz4190), Zero, vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt68(Succ(vuz4190), Succ(vuz4190), Succ(vuz31900), vuz3170) new_primQuotInt65(vuz366, vuz369, vuz481, vuz368, vuz480, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(new_primPlusNat1(vuz369, vuz481)), new_primPlusNat1(vuz369, vuz481), vuz367) new_primQuotInt31(vuz416, False, vuz549, vuz542) -> new_primQuotInt32(vuz416, new_gcd0Gcd'2(vuz542, vuz549)) new_primQuotInt82(vuz428, True, vuz429, vuz3190, vuz3170) -> new_primQuotInt55(vuz428) new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) -> new_primQuotInt10(vuz348, new_esEs(new_abs3(vuz3190, vuz3170)), new_abs1(vuz349), new_abs3(vuz3190, vuz3170)) new_gcd0Gcd'2(vuz542, vuz549) -> new_gcd0Gcd'10(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) new_primQuotInt77(Zero, vuz471, vuz3190) -> new_primQuotInt68(Zero, Zero, vuz3190, Zero) new_primQuotInt66(vuz426, False, vuz427, vuz3190, vuz3170) -> new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Pos(Succ(vuz31800)), Pos(Succ(vuz31900)), ty_Int) -> new_primQuotInt67(new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), new_primPlusNat1(new_primMulNat0(vuz31800, Succ(vuz31900)), Succ(vuz31900)), new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_primQuotInt48(vuz426, vuz427, vuz3190, vuz3170) -> new_primQuotInt66(vuz426, new_esEs(Neg(vuz427)), vuz427, vuz3190, vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt24(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt22(vuz416, vuz417, vuz3190, vuz3170) -> new_primQuotInt23(vuz416, new_esEs(Pos(vuz417)), vuz417, vuz3190, vuz3170) new_sr(Neg(vuz30610), Neg(vuz30710)) -> Pos(new_primMulNat0(vuz30610, vuz30710)) new_primDivNatS01(vuz574, vuz575, Succ(vuz5760), Zero) -> new_primDivNatS02(vuz574, vuz575) new_primQuotInt89(vuz426, False, vuz427, vuz3190, vuz3170) -> new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) new_esEs0(vuz3061, vuz3071, ty_Integer) -> error([]) new_primQuotInt87(vuz446, False, vuz447, vuz3190, vuz3170) -> new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) new_negate0(Pos(vuz300)) -> Neg(vuz300) new_primQuotInt64(vuz394, vuz397, Pos(vuz3180), vuz3190, vuz396, vuz395) -> new_primQuotInt52(vuz394, vuz397, new_primMulNat0(vuz3180, vuz3190), vuz396, new_primMulNat0(vuz3180, vuz3190), vuz395) new_primQuotInt88(vuz446, vuz447, vuz3190, vuz3170) -> new_primQuotInt10(vuz446, new_esEs(new_abs4(vuz3190, vuz3170)), new_abs1(vuz447), new_abs4(vuz3190, vuz3170)) new_primQuotInt42(vuz354, True, vuz355, vuz3190, vuz3170) -> new_primQuotInt44(vuz354) new_primQuotInt76(Succ(vuz4650), Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt76(vuz4650, vuz4640, vuz4650, vuz4640, vuz3190, vuz31700) new_primQuotInt72(Succ(vuz4390), Zero, vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt18(Succ(vuz4390), Succ(vuz4390), Succ(vuz31900), vuz3170) new_primQuotInt59(vuz378, vuz381, Pos(vuz3180), vuz3190, vuz380, vuz379) -> new_primQuotInt53(vuz378, vuz381, new_primMulNat0(vuz3180, vuz3190), vuz380, new_primMulNat0(vuz3180, vuz3190), vuz379) new_primQuotInt75(Zero, vuz463, vuz3190) -> new_primQuotInt45(Zero, Zero, vuz3190, Zero) new_primEqInt3(Zero) -> new_primEqInt2 new_primMinusNatS1 -> Zero new_negate(:%(vuz30, vuz31)) -> :%(new_negate0(vuz30), vuz31) new_primQuotInt70(vuz428, Neg(Zero)) -> new_error new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_quot(Pos(vuz3160), Pos(vuz3170), Neg(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt22(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_gcd0Gcd'10(True, vuz542, vuz549) -> vuz542 new_primQuotInt12(vuz366, Succ(vuz3690), Succ(vuz4830), vuz367) -> new_primQuotInt12(vuz366, vuz3690, vuz4830, vuz367) new_primQuotInt57(vuz382, vuz385, Pos(vuz3180), vuz3190, vuz384, vuz383) -> new_primQuotInt38(vuz382, vuz385, new_primMulNat0(vuz3180, vuz3190), vuz384, new_primMulNat0(vuz3180, vuz3190), vuz383) new_primEqInt4(Succ(vuz3250)) -> new_primEqInt(vuz3250) new_primQuotInt78(vuz366, vuz369, Neg(vuz3180), vuz3190, vuz368, vuz367) -> new_primQuotInt52(vuz366, vuz369, new_primMulNat0(vuz3180, vuz3190), vuz368, new_primMulNat0(vuz3180, vuz3190), vuz367) new_quot0(Neg(vuz3190), Neg(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt64(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Zero), Neg(Succ(vuz31900)), ty_Int) -> new_primQuotInt47(Zero, new_primMulNat0(vuz3160, vuz3170), Zero, new_primMulNat0(vuz3160, vuz3170), vuz31900, vuz3170) new_absReal10(vuz554) -> vuz554 new_primQuotInt52(vuz366, vuz369, vuz483, vuz368, vuz482, vuz367) -> new_primQuotInt12(vuz366, vuz369, vuz483, vuz367) new_primQuotInt86(vuz416, True, vuz417, vuz3190, vuz3170) -> new_primQuotInt44(vuz416) new_primQuotInt45(vuz360, vuz361, vuz3190, vuz3170) -> new_primQuotInt46(vuz360, new_esEs(Pos(vuz361)), vuz361, vuz3190, vuz3170) new_primQuotInt12(vuz366, Zero, Succ(vuz4830), vuz367) -> new_primQuotInt91(vuz366, new_primEqInt3(Succ(vuz4830)), Succ(vuz4830), vuz367) new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_primQuotInt17(vuz348, vuz349, vuz3190, vuz3170) -> new_primQuotInt13(vuz348, new_esEs(Neg(vuz349)), vuz349, vuz3190, vuz3170) new_primQuotInt67(Zero, Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt50(Succ(vuz4180), Succ(vuz4180), Succ(vuz31900), vuz3170) new_primQuotInt92(vuz354, False, vuz355, vuz3190, vuz3170) -> new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) new_quot(Pos(Zero), Pos(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt24(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primQuotInt75(Succ(vuz4620), vuz463, vuz3190) -> new_primQuotInt48(Succ(vuz4620), Succ(vuz4620), vuz3190, Zero) new_primQuotInt70(vuz428, Neg(Succ(vuz55200))) -> Pos(new_primDivNatS1(vuz428, vuz55200)) new_quot(Pos(vuz3160), Pos(vuz3170), Pos(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt18(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primPlusNat0(Succ(vuz3350), vuz307100) -> Succ(Succ(new_primPlusNat1(vuz3350, vuz307100))) new_primQuotInt84(vuz370, False, vuz508, vuz371) -> new_primQuotInt85(vuz370, vuz508, vuz371) new_primQuotInt42(vuz354, False, vuz355, vuz3190, vuz3170) -> new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) new_primQuotInt43(vuz354, vuz355, vuz3190, vuz3170) -> new_primQuotInt31(vuz354, new_esEs(new_abs0(vuz3190, vuz3170)), new_abs(vuz355), new_abs0(vuz3190, vuz3170)) new_primEqInt2 -> True new_primQuotInt62(Zero, Zero, vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt22(Zero, Zero, vuz3190, Succ(vuz31700)) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_primPlusNat1(Zero, Zero) -> Zero new_primQuotInt16(Succ(vuz4140), vuz415, vuz3190) -> new_primQuotInt17(Succ(vuz4140), Succ(vuz4140), vuz3190, Zero) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMulNat0(Succ(vuz306100), Zero) -> Zero new_primMulNat0(Zero, Succ(vuz307100)) -> Zero new_primQuotInt16(Zero, vuz415, vuz3190) -> new_primQuotInt18(Zero, Zero, vuz3190, Zero) new_sr(Pos(vuz30610), Pos(vuz30710)) -> Pos(new_primMulNat0(vuz30610, vuz30710)) new_primQuotInt55(vuz426) -> error([]) new_primQuotInt12(vuz366, Zero, Zero, vuz367) -> new_primQuotInt69(vuz366, new_primEqInt4(Zero), Zero, vuz367) new_primPlusNat0(Zero, vuz307100) -> Succ(vuz307100) new_primQuotInt92(vuz354, True, vuz355, vuz3190, vuz3170) -> new_primQuotInt42(vuz354, new_esEs(new_sr(Pos(vuz3190), Neg(vuz3170))), vuz355, vuz3190, vuz3170) new_primQuotInt72(Zero, Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt17(Succ(vuz4380), Succ(vuz4380), Succ(vuz31900), vuz3170) new_quot(Pos(Succ(vuz31600)), Pos(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt62(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt21(vuz426, vuz427, vuz3190, vuz3170) -> new_primQuotInt10(vuz426, new_esEs(new_abs2(vuz3190, vuz3170)), new_abs1(vuz427), new_abs2(vuz3190, vuz3170)) new_primQuotInt91(vuz370, True, vuz508, vuz371) -> new_primQuotInt84(vuz370, new_esEs(Pos(vuz371)), vuz508, vuz371) new_primQuotInt51(vuz428, False, vuz429, vuz3190, vuz3170) -> new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primQuotInt47(Succ(vuz4310), Zero, vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt45(Succ(vuz4310), Succ(vuz4310), Succ(vuz31900), vuz3170) new_primQuotInt83(vuz366, False, vuz505, vuz367) -> new_primQuotInt49(vuz366, vuz505, vuz367) new_quot(Neg(Zero), Neg(Zero), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt75(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_primEqInt0(vuz3260) -> False new_primQuotInt18(vuz398, vuz399, vuz3190, vuz3170) -> new_primQuotInt33(vuz398, new_esEs(Pos(vuz399)), vuz399, vuz3190, vuz3170) new_abs3(vuz3190, vuz3170) -> new_absReal1(new_sr(Pos(vuz3190), Pos(vuz3170)), new_sr(Pos(vuz3190), Pos(vuz3170))) new_quot(Neg(vuz3160), Pos(vuz3170), Pos(Zero), Pos(Zero), ty_Int) -> new_primQuotInt73(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt28(vuz374, vuz377, Pos(vuz3180), vuz3190, vuz376, vuz375) -> new_primQuotInt29(vuz374, vuz377, new_primMulNat0(vuz3180, vuz3190), vuz376, new_primMulNat0(vuz3180, vuz3190), vuz375) new_primQuotInt58(Succ(vuz4360), vuz437, vuz3170) -> new_primQuotInt48(Succ(vuz4360), Succ(vuz4360), Zero, vuz3170) new_quot(Neg(vuz3160), Neg(vuz3170), Pos(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt68(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primMulNat0(Succ(vuz306100), Succ(vuz307100)) -> new_primPlusNat0(new_primMulNat0(vuz306100, Succ(vuz307100)), vuz307100) new_primQuotInt10(vuz428, True, vuz552, vuz544) -> new_primQuotInt70(vuz428, vuz552) new_primQuotInt49(vuz366, vuz505, vuz367) -> new_primQuotInt31(vuz366, new_esEs(new_abs(vuz367)), new_abs(vuz505), new_abs(vuz367)) new_primEqInt3(Succ(vuz3260)) -> new_primEqInt0(vuz3260) new_primQuotInt61(vuz360, False, vuz361, vuz3190, vuz3170) -> new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) new_primQuotInt61(vuz360, True, vuz361, vuz3190, vuz3170) -> new_primQuotInt44(vuz360) new_primQuotInt54(vuz378, True, vuz514, vuz379) -> new_primQuotInt63(vuz378, new_esEs(Neg(vuz379)), vuz514, vuz379) new_primPlusNat1(Succ(vuz33500), Zero) -> Succ(vuz33500) new_primPlusNat1(Zero, Succ(vuz3071000)) -> Succ(vuz3071000) new_primQuotInt82(vuz428, False, vuz429, vuz3190, vuz3170) -> new_primQuotInt9(vuz428, vuz429, vuz3190, vuz3170) new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primQuotInt74(Succ(vuz4490), Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt74(vuz4490, vuz4480, vuz4490, vuz4480, vuz31900, vuz3170) new_primQuotInt38(vuz378, vuz381, vuz495, vuz380, vuz494, vuz379) -> new_primQuotInt39(vuz378, vuz381, vuz495, vuz379) new_primQuotInt66(vuz426, True, vuz427, vuz3190, vuz3170) -> new_primQuotInt89(vuz426, new_esEs(new_sr(Neg(vuz3190), Neg(vuz3170))), vuz427, vuz3190, vuz3170) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(Zero), Neg(Zero), ty_Int) -> new_primQuotInt58(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz3170) new_primQuotInt24(Zero, vuz407, vuz3190) -> new_primQuotInt22(Zero, Zero, vuz3190, Zero) new_quot0(vuz319, vuz317, vuz316, vuz318, ty_Integer) -> error([]) new_primQuotInt70(vuz428, Pos(Zero)) -> new_error new_esEs0(vuz3061, vuz3071, ty_Int) -> new_esEs(new_sr(vuz3061, vuz3071)) new_primQuotInt76(Succ(vuz4650), Zero, vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt68(Succ(vuz4650), Succ(vuz4650), vuz3190, Succ(vuz31700)) new_primDivNatS1(Succ(Succ(vuz41600)), Succ(vuz549000)) -> new_primDivNatS01(vuz41600, vuz549000, vuz41600, vuz549000) new_primEqInt1 -> True new_quot0(Pos(vuz3190), Neg(vuz3170), Neg(vuz3160), vuz318, ty_Int) -> new_primQuotInt59(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt41(vuz378, vuz514, vuz379) -> new_primQuotInt10(vuz378, new_esEs(new_abs1(vuz379)), new_abs(vuz514), new_abs1(vuz379)) new_primEqInt(vuz3250) -> False new_ps(:%(vuz3060, vuz3061), :%(vuz3070, vuz3071), h) -> new_reduce2Reduce1(vuz3060, vuz3071, vuz3070, vuz3061, new_esEs0(vuz3061, vuz3071, h), h) new_primQuotInt54(vuz378, False, vuz514, vuz379) -> new_primQuotInt41(vuz378, vuz514, vuz379) new_primQuotInt23(vuz416, True, vuz417, vuz3190, vuz3170) -> new_primQuotInt86(vuz416, new_esEs(new_sr(Neg(vuz3190), Pos(vuz3170))), vuz417, vuz3190, vuz3170) new_reduce2Reduce1(vuz316, vuz317, vuz318, vuz319, True, ba) -> error([]) new_primQuotInt37(vuz416, vuz417, vuz3190, vuz3170) -> new_primQuotInt31(vuz416, new_esEs(new_abs4(vuz3190, vuz3170)), new_abs(vuz417), new_abs4(vuz3190, vuz3170)) new_primQuotInt26(vuz374, vuz511, vuz375) -> new_primQuotInt10(vuz374, new_esEs(new_abs1(vuz375)), new_abs1(vuz511), new_abs1(vuz375)) new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_quot(Neg(Succ(vuz31600)), Neg(Succ(vuz31700)), Pos(vuz3180), Neg(vuz3190), ty_Int) -> new_primQuotInt56(new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), new_primPlusNat1(new_primMulNat0(vuz31600, Succ(vuz31700)), Succ(vuz31700)), new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt32(vuz416, Neg(Zero)) -> new_error new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_gcd0Gcd'00(vuz542, vuz557) -> new_gcd0Gcd'2(vuz557, vuz542) new_abs(vuz399) -> new_absReal1(Pos(vuz399), Pos(vuz399)) new_quot(vuz316, vuz317, vuz318, vuz319, ty_Integer) -> error([]) new_quot0(Pos(vuz3190), Pos(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt78(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt47(Succ(vuz4310), Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt47(vuz4310, vuz4300, vuz4310, vuz4300, vuz31900, vuz3170) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_quot(Pos(vuz3160), Neg(vuz3170), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt50(new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), new_primPlusNat1(new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3180, vuz3190)), vuz3190, vuz3170) new_primQuotInt15(vuz348, False, vuz349, vuz3190, vuz3170) -> new_primQuotInt14(vuz348, vuz349, vuz3190, vuz3170) new_primModNatS1(Zero, vuz54200) -> Zero new_quot(Pos(Zero), Pos(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt36(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_quot(Neg(Zero), Neg(Succ(vuz31700)), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt76(Zero, new_primMulNat0(vuz3180, vuz3190), Zero, new_primMulNat0(vuz3180, vuz3190), vuz3190, vuz31700) new_primQuotInt46(vuz360, True, vuz361, vuz3190, vuz3170) -> new_primQuotInt61(vuz360, new_esEs(new_sr(Neg(vuz3190), Neg(vuz3170))), vuz361, vuz3190, vuz3170) new_quot(Neg(Succ(vuz31600)), Neg(Zero), Neg(vuz3180), Pos(vuz3190), ty_Int) -> new_primQuotInt77(new_primMulNat0(vuz3180, vuz3190), new_primMulNat0(vuz3180, vuz3190), vuz3190) new_quot0(Neg(vuz3190), Neg(vuz3170), Pos(vuz3160), vuz318, ty_Int) -> new_primQuotInt81(new_primMulNat0(vuz3190, vuz3170), new_primMulNat0(vuz3160, vuz3170), vuz318, vuz3190, new_primMulNat0(vuz3160, vuz3170), new_primMulNat0(vuz3190, vuz3170)) new_primQuotInt60(vuz360, vuz361, vuz3190, vuz3170) -> new_primQuotInt31(vuz360, new_esEs(new_abs2(vuz3190, vuz3170)), new_abs(vuz361), new_abs2(vuz3190, vuz3170)) new_error -> error([]) new_primQuotInt36(Succ(vuz4090), Succ(vuz4080), vuz411, vuz410, vuz3190, vuz31700) -> new_primQuotInt36(vuz4090, vuz4080, vuz4090, vuz4080, vuz3190, vuz31700) new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) -> new_primQuotInt31(vuz398, new_esEs(new_abs3(vuz3190, vuz3170)), new_abs(vuz399), new_abs3(vuz3190, vuz3170)) new_primQuotInt35(vuz398, False, vuz399, vuz3190, vuz3170) -> new_primQuotInt34(vuz398, vuz399, vuz3190, vuz3170) new_primQuotInt62(Succ(vuz4010), Zero, vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt22(Succ(vuz4010), Succ(vuz4010), vuz3190, Succ(vuz31700)) new_primQuotInt63(vuz378, True, vuz514, vuz379) -> new_primQuotInt55(vuz378) new_primQuotInt72(Succ(vuz4390), Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt72(vuz4390, vuz4380, vuz4390, vuz4380, vuz31900, vuz3170) new_primQuotInt39(vuz374, Succ(vuz4890), Succ(vuz3770), vuz375) -> new_primQuotInt39(vuz374, vuz4890, vuz3770, vuz375) new_absReal1(vuz554, Neg(Succ(vuz55500))) -> new_negate0(vuz554) new_primQuotInt31(vuz416, True, vuz549, vuz542) -> new_primQuotInt32(vuz416, vuz549) new_primQuotInt91(vuz370, False, vuz508, vuz371) -> new_primQuotInt85(vuz370, vuz508, vuz371) new_primQuotInt58(Zero, vuz437, vuz3170) -> new_primQuotInt45(Zero, Zero, Zero, vuz3170) new_primQuotInt89(vuz426, True, vuz427, vuz3190, vuz3170) -> new_primQuotInt55(vuz426) new_primQuotInt47(Zero, Zero, vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt45(Zero, Zero, Succ(vuz31900), vuz3170) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (21) 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_iterate(vuz4, vuz3, vuz5) evaluates to t =new_iterate(vuz4, vuz3, new_ps(new_ps(vuz4, new_negate(vuz3), ty_Int), vuz5, ty_Int)) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vuz5 / new_ps(new_ps(vuz4, new_negate(vuz3), ty_Int), vuz5, ty_Int)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_iterate(vuz4, vuz3, vuz5) to new_iterate(vuz4, vuz3, new_ps(new_ps(vuz4, new_negate(vuz3), ty_Int), vuz5, ty_Int)). ---------------------------------------- (22) NO ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt7(Succ(vuz4390), Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt7(vuz4390, vuz4380, vuz4390, vuz4380, vuz31900, vuz3170) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt7(Succ(vuz4390), Succ(vuz4380), vuz441, vuz440, vuz31900, vuz3170) -> new_primQuotInt7(vuz4390, vuz4380, vuz4390, vuz4380, vuz31900, vuz3170) we obtained the following new rules [LPAR04]: (new_primQuotInt7(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt7(x0, x1, x0, x1, z4, z5),new_primQuotInt7(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt7(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt7(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt7(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) 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_primQuotInt7(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt7(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz41600)), Succ(vuz549000)) -> new_primDivNatS0(vuz41600, vuz549000, vuz41600, vuz549000) new_primDivNatS0(vuz574, vuz575, Zero, Zero) -> new_primDivNatS00(vuz574, vuz575) new_primDivNatS(Succ(Succ(vuz41600)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz41600), Zero) new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Succ(vuz5770)) -> new_primDivNatS0(vuz574, vuz575, vuz5760, vuz5770) new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) new_primDivNatS00(vuz574, vuz575) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (30) Complex Obligation (AND) ---------------------------------------- (31) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz41600)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz41600), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (32) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primDivNatS(Succ(Succ(vuz41600)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz41600), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 ---------------------------------------- (33) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (35) YES ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz574, vuz575, Zero, Zero) -> new_primDivNatS00(vuz574, vuz575) new_primDivNatS00(vuz574, vuz575) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) new_primDivNatS(Succ(Succ(vuz41600)), Succ(vuz549000)) -> new_primDivNatS0(vuz41600, vuz549000, vuz41600, vuz549000) new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Succ(vuz5770)) -> new_primDivNatS0(vuz574, vuz575, vuz5760, vuz5770) new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primDivNatS00(vuz574, vuz575) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vuz41600)), Succ(vuz549000)) -> new_primDivNatS0(vuz41600, vuz549000, vuz41600, vuz549000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Succ(vuz5770)) -> new_primDivNatS0(vuz574, vuz575, vuz5760, vuz5770) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz574, vuz575, Zero, Zero) -> new_primDivNatS00(vuz574, vuz575) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vuz574, vuz575, Succ(vuz5760), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz574, vuz575), Succ(vuz575)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) ---------------------------------------- (38) YES ---------------------------------------- (39) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz306100), Succ(vuz307100)) -> new_primMulNat(vuz306100, Succ(vuz307100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (40) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMulNat(Succ(vuz306100), Succ(vuz307100)) -> new_primMulNat(vuz306100, Succ(vuz307100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (41) YES ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS(vuz5740, vuz5750) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMinusNatS(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS(vuz5740, vuz5750) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (44) YES ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (48) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) the following chains were created: *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'(x3, x2), new_gcd0Gcd'(x4, x5) -> new_gcd0Gcd'1(new_esEs(new_rem(x5, x4)), x4, x5) which results in the following constraint: (1) (new_gcd0Gcd'(x3, x2)=new_gcd0Gcd'(x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) For Pair new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) the following chains were created: *We consider the chain new_gcd0Gcd'(x12, x13) -> new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13), new_gcd0Gcd'1(False, x14, x15) -> new_gcd0Gcd'0(x14, new_rem(x15, x14)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)=new_gcd0Gcd'1(False, x14, x15) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_rem(x13, x12)=x24 & new_esEs(x24)=False ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x24)=False which results in the following new constraints: (3) (new_primEqInt2=False & new_rem(x13, x12)=Neg(Zero) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) (4) (new_primEqInt1=False & new_rem(x13, x12)=Pos(Zero) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) (5) (new_primEqInt(x25)=False & new_rem(x13, x12)=Pos(Succ(x25)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) (6) (new_primEqInt0(x26)=False & new_rem(x13, x12)=Neg(Succ(x26)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We solved constraint (3) using rule (V) (with possible (I) afterwards).We solved constraint (4) using rule (V) (with possible (I) afterwards).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x25)=False which results in the following new constraint: (7) (False=False & new_rem(x13, x12)=Pos(Succ(x27)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x26)=False which results in the following new constraint: (8) (False=False & new_rem(x13, x12)=Neg(Succ(x62)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (9) (new_rem(x13, x12)=Pos(Succ(x27)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_rem(x13, x12)=Pos(Succ(x27)) which results in the following new constraints: (10) (Pos(new_primModNatS1(x31, x30))=Pos(Succ(x27)) ==> new_gcd0Gcd'(Pos(Succ(x30)), Pos(x31))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x31), Pos(Succ(x30)))), Pos(Succ(x30)), Pos(x31))) (11) (new_error=Pos(Succ(x27)) ==> new_gcd0Gcd'(Neg(Zero), Neg(x32))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x32), Neg(Zero))), Neg(Zero), Neg(x32))) (12) (new_error=Pos(Succ(x27)) ==> new_gcd0Gcd'(Neg(Zero), Pos(x33))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x33), Neg(Zero))), Neg(Zero), Pos(x33))) (13) (new_error=Pos(Succ(x27)) ==> new_gcd0Gcd'(Pos(Zero), Neg(x34))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x34), Pos(Zero))), Pos(Zero), Neg(x34))) (14) (Pos(new_primModNatS1(x36, x35))=Pos(Succ(x27)) ==> new_gcd0Gcd'(Neg(Succ(x35)), Pos(x36))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x36), Neg(Succ(x35)))), Neg(Succ(x35)), Pos(x36))) (15) (new_error=Pos(Succ(x27)) ==> new_gcd0Gcd'(Pos(Zero), Pos(x39))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x39), Pos(Zero))), Pos(Zero), Pos(x39))) We simplified constraint (10) using rules (I), (II) which results in the following new constraint: (16) (new_primModNatS1(x31, x30)=Succ(x27) ==> new_gcd0Gcd'(Pos(Succ(x30)), Pos(x31))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x31), Pos(Succ(x30)))), Pos(Succ(x30)), Pos(x31))) We solved constraint (11) using rule (V) (with possible (I) afterwards).We solved constraint (12) using rule (V) (with possible (I) afterwards).We solved constraint (13) using rule (V) (with possible (I) afterwards).We simplified constraint (14) using rules (I), (II) which results in the following new constraint: (17) (new_primModNatS1(x36, x35)=Succ(x27) ==> new_gcd0Gcd'(Neg(Succ(x35)), Pos(x36))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x36), Neg(Succ(x35)))), Neg(Succ(x35)), Pos(x36))) We solved constraint (15) using rule (V) (with possible (I) afterwards).We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x31, x30)=Succ(x27) which results in the following new constraints: (18) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x27) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) (19) (Succ(Zero)=Succ(x27) ==> new_gcd0Gcd'(Pos(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Zero)))) (20) (new_primModNatS01(x43, x42, x43, x42)=Succ(x27) ==> new_gcd0Gcd'(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x43))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x43))), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Pos(Succ(Succ(x43))))) (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x27) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'(Pos(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Zero)))) We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: (24) (new_gcd0Gcd'(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: (25) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x36, x35)=Succ(x27) which results in the following new constraints: (26) (new_primModNatS1(new_primMinusNatS0(x51), Zero)=Succ(x27) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x51))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x51))))) (27) (Succ(Zero)=Succ(x27) ==> new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x52))))), Neg(Succ(Succ(x52))), Pos(Succ(Zero)))) (28) (new_primModNatS01(x54, x53, x54, x53)=Succ(x27) ==> new_gcd0Gcd'(Neg(Succ(Succ(x53))), Pos(Succ(Succ(x54))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x54))), Neg(Succ(Succ(x53))))), Neg(Succ(Succ(x53))), Pos(Succ(Succ(x54))))) (29) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x27) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x51))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x51))))) We simplified constraint (27) using rules (I), (II), (IV) which results in the following new constraint: (31) (new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x52))))), Neg(Succ(Succ(x52))), Pos(Succ(Zero)))) We simplified constraint (28) using rules (III), (IV), (VII) which results in the following new constraint: (32) (new_gcd0Gcd'(Neg(Succ(Succ(x59))), Pos(Succ(Succ(x58))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x58))), Neg(Succ(Succ(x59))))), Neg(Succ(Succ(x59))), Pos(Succ(Succ(x58))))) We simplified constraint (29) using rules (III), (IV), (VII) which results in the following new constraint: (33) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (8) using rules (I), (II) which results in the following new constraint: (34) (new_rem(x13, x12)=Neg(Succ(x62)) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) We simplified constraint (34) using rule (V) (with possible (I) afterwards) using induction on new_rem(x13, x12)=Neg(Succ(x62)) which results in the following new constraints: (35) (Neg(new_primModNatS1(x64, x63))=Neg(Succ(x62)) ==> new_gcd0Gcd'(Neg(Succ(x63)), Neg(x64))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), Neg(x64))) (36) (new_error=Neg(Succ(x62)) ==> new_gcd0Gcd'(Neg(Zero), Neg(x67))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x67), Neg(Zero))), Neg(Zero), Neg(x67))) (37) (new_error=Neg(Succ(x62)) ==> new_gcd0Gcd'(Neg(Zero), Pos(x68))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x68), Neg(Zero))), Neg(Zero), Pos(x68))) (38) (new_error=Neg(Succ(x62)) ==> new_gcd0Gcd'(Pos(Zero), Neg(x69))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x69), Pos(Zero))), Pos(Zero), Neg(x69))) (39) (Neg(new_primModNatS1(x73, x72))=Neg(Succ(x62)) ==> new_gcd0Gcd'(Pos(Succ(x72)), Neg(x73))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x73), Pos(Succ(x72)))), Pos(Succ(x72)), Neg(x73))) (40) (new_error=Neg(Succ(x62)) ==> new_gcd0Gcd'(Pos(Zero), Pos(x74))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x74), Pos(Zero))), Pos(Zero), Pos(x74))) We simplified constraint (35) using rules (I), (II) which results in the following new constraint: (41) (new_primModNatS1(x64, x63)=Succ(x62) ==> new_gcd0Gcd'(Neg(Succ(x63)), Neg(x64))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), Neg(x64))) We solved constraint (36) using rule (V) (with possible (I) afterwards).We solved constraint (37) using rule (V) (with possible (I) afterwards).We solved constraint (38) using rule (V) (with possible (I) afterwards).We simplified constraint (39) using rules (I), (II) which results in the following new constraint: (42) (new_primModNatS1(x73, x72)=Succ(x62) ==> new_gcd0Gcd'(Pos(Succ(x72)), Neg(x73))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x73), Pos(Succ(x72)))), Pos(Succ(x72)), Neg(x73))) We solved constraint (40) using rule (V) (with possible (I) afterwards).We simplified constraint (41) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x64, x63)=Succ(x62) which results in the following new constraints: (43) (new_primModNatS1(new_primMinusNatS0(x75), Zero)=Succ(x62) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x75))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x75))))) (44) (Succ(Zero)=Succ(x62) ==> new_gcd0Gcd'(Neg(Succ(Succ(x76))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x76))))), Neg(Succ(Succ(x76))), Neg(Succ(Zero)))) (45) (new_primModNatS01(x78, x77, x78, x77)=Succ(x62) ==> new_gcd0Gcd'(Neg(Succ(Succ(x77))), Neg(Succ(Succ(x78))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x78))), Neg(Succ(Succ(x77))))), Neg(Succ(Succ(x77))), Neg(Succ(Succ(x78))))) (46) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x62) ==> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (43) using rules (III), (IV), (VII) which results in the following new constraint: (47) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x75))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x75))))) We simplified constraint (44) using rules (I), (II), (IV) which results in the following new constraint: (48) (new_gcd0Gcd'(Neg(Succ(Succ(x76))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x76))))), Neg(Succ(Succ(x76))), Neg(Succ(Zero)))) We simplified constraint (45) using rules (III), (IV), (VII) which results in the following new constraint: (49) (new_gcd0Gcd'(Neg(Succ(Succ(x83))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x83))))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) We simplified constraint (46) using rules (III), (IV), (VII) which results in the following new constraint: (50) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (42) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x73, x72)=Succ(x62) which results in the following new constraints: (51) (new_primModNatS1(new_primMinusNatS0(x86), Zero)=Succ(x62) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x86))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x86))))) (52) (Succ(Zero)=Succ(x62) ==> new_gcd0Gcd'(Pos(Succ(Succ(x87))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x87))))), Pos(Succ(Succ(x87))), Neg(Succ(Zero)))) (53) (new_primModNatS01(x89, x88, x89, x88)=Succ(x62) ==> new_gcd0Gcd'(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x89))), Pos(Succ(Succ(x88))))), Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))) (54) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x62) ==> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (51) using rules (III), (IV), (VII) which results in the following new constraint: (55) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x86))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x86))))) We simplified constraint (52) using rules (I), (II), (IV) which results in the following new constraint: (56) (new_gcd0Gcd'(Pos(Succ(Succ(x87))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x87))))), Pos(Succ(Succ(x87))), Neg(Succ(Zero)))) We simplified constraint (53) using rules (III), (IV), (VII) which results in the following new constraint: (57) (new_gcd0Gcd'(Pos(Succ(Succ(x94))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x93))), Pos(Succ(Succ(x94))))), Pos(Succ(Succ(x94))), Neg(Succ(Succ(x93))))) We simplified constraint (54) using rules (III), (IV), (VII) which results in the following new constraint: (58) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x16, x17) -> new_gcd0Gcd'0(x16, new_rem(x17, x16)), new_gcd0Gcd'0(x18, x19) -> new_gcd0Gcd'(x19, x18) which results in the following constraint: (1) (new_gcd0Gcd'0(x16, new_rem(x17, x16))=new_gcd0Gcd'0(x18, x19) ==> new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) *(new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) *new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) *(new_gcd0Gcd'(Pos(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(x52))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x52))))), Neg(Succ(Succ(x52))), Pos(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(x76))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x76))))), Neg(Succ(Succ(x76))), Neg(Succ(Zero)))) *(new_gcd0Gcd'(Pos(Succ(Succ(x87))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x87))))), Pos(Succ(Succ(x87))), Neg(Succ(Zero)))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x40))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) *(new_gcd0Gcd'(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x51))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x51))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x51))))) *(new_gcd0Gcd'(Neg(Succ(Succ(x59))), Pos(Succ(Succ(x58))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x58))), Neg(Succ(Succ(x59))))), Neg(Succ(Succ(x59))), Pos(Succ(Succ(x58))))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x75))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x75))))) *(new_gcd0Gcd'(Neg(Succ(Succ(x83))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x83))))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x82))))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x86))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x86))))) *(new_gcd0Gcd'(Pos(Succ(Succ(x94))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x93))), Pos(Succ(Succ(x94))))), Pos(Succ(Succ(x94))), Neg(Succ(Succ(x93))))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) *new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) *(new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz542, vuz549) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz549, vuz542)), vuz542, vuz549) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) (new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) (new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) (new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) (new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) (new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) (new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) (new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'(Neg(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (54) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (55) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'(Neg(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'(Pos(Zero), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Pos(Zero), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) 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'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) 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'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (95) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (99) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (100) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (101) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (102) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (103) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (104) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (105) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (106) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (107) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))) ---------------------------------------- (113) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (114) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (115) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (116) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (117) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (118) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (119) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (120) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (129) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (133) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (135) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (136) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (137) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (138) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (139) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (155) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (157) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (165) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (167) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (172) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (173) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (174) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (175) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (176) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (177) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (178) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (179) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (180) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (181) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (182) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (183) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (184) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (185) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (186) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (187) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (188) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (189) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (190) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (191) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (193) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (194) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (195) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (196) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (197) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (198) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (199) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (200) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (201) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (202) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (203) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (204) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (205) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (206) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (207) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (208) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (209) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (210) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (211) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (212) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (213) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (214) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (215) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (216) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (217) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (218) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (219) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (220) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (221) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (222) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (223) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (224) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (225) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) 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'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (228) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (229) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (230) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (231) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (232) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (233) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (235) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (236) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (237) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (238) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (239) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (240) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (241) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (242) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (243) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (245) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (247) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (248) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (249) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (250) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (251) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (252) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (253) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (254) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (255) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (256) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (257) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (259) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (261) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (262) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (263) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (264) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (265) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (266) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (267) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (268) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (269) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (270) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (271) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (272) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (273) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (274) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (275) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (276) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (277) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (278) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (279) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (280) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (281) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (282) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (283) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (284) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (285) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (286) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (287) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (288) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (289) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (290) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (291) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (292) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (293) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (294) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (295) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (296) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (297) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (298) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (299) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (300) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (301) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (302) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (303) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (304) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (305) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (306) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (307) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (308) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (309) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (310) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (311) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (312) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (313) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (314) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (315) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (316) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (317) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (318) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (319) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (320) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (321) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (322) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (323) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (324) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (325) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (326) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (327) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (328) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (329) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (330) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (331) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (332) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (333) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (334) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (335) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (336) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (337) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (338) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (339) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (340) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (341) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (342) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (343) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (344) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (345) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (346) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (347) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (348) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (349) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (350) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (351) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (353) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (354) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (355) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (356) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (357) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (358) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (359) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (360) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (361) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (362) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (363) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (364) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (365) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (366) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (367) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (368) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (369) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (371) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (372) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (373) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (374) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt(Zero), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (375) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (376) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (377) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (378) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (379) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (380) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (381) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (382) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (383) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) 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'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (386) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (387) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (388) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (389) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (390) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (391) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (392) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (393) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (394) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (395) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (396) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (397) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (398) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (399) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (400) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (401) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (402) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (403) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (404) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (405) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (406) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (407) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (408) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (409) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (410) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (411) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (412) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (413) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (414) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (415) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (416) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_primEqInt0(Zero), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (417) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (418) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (419) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (420) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (421) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (422) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (423) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (424) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (425) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (426) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (427) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (428) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 POL(True) = 0 POL(Zero) = 0 POL([]) = 1 POL(error(x_1)) = 1 + x_1 POL(new_error) = 1 POL(new_esEs(x_1)) = x_1 POL(new_gcd0Gcd'(x_1, x_2)) = 1 POL(new_gcd0Gcd'0(x_1, x_2)) = 1 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_1 POL(new_primEqInt(x_1)) = 1 POL(new_primEqInt0(x_1)) = 1 POL(new_primEqInt1) = 0 POL(new_primEqInt2) = 0 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS02(x_1, x_2)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_rem(x_1, x_2)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_esEs(Neg(Zero)) -> new_primEqInt2 new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Pos(Zero)) -> new_primEqInt1 new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_primModNatS1(Zero, vuz54200) -> Zero new_primEqInt1 -> True new_primEqInt(vuz3250) -> False new_primEqInt0(vuz3260) -> False ---------------------------------------- (429) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (430) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (431) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (432) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) the following chains were created: *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'(x3, x2), new_gcd0Gcd'(Neg(Succ(Succ(x4))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x4))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'(x3, x2)=new_gcd0Gcd'(Neg(Succ(Succ(x4))), Neg(Succ(Zero))) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x4))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x4))), Neg(Succ(Zero)))) *We consider the chain new_gcd0Gcd'0(x7, x8) -> new_gcd0Gcd'(x8, x7), new_gcd0Gcd'(Pos(Succ(Succ(x9))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x9))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'(x8, x7)=new_gcd0Gcd'(Pos(Succ(Succ(x9))), Pos(Succ(Zero))) ==> new_gcd0Gcd'0(x7, x8)_>=_new_gcd0Gcd'(x8, x7)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x9))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x9))), Pos(Succ(Zero)))) *We consider the chain new_gcd0Gcd'0(x10, x11) -> new_gcd0Gcd'(x11, x10), new_gcd0Gcd'(Neg(Succ(Succ(x12))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'(x11, x10)=new_gcd0Gcd'(Neg(Succ(Succ(x12))), Pos(Succ(Zero))) ==> new_gcd0Gcd'0(x10, x11)_>=_new_gcd0Gcd'(x11, x10)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x12))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x12))), Pos(Succ(Zero)))) *We consider the chain new_gcd0Gcd'0(x13, x14) -> new_gcd0Gcd'(x14, x13), new_gcd0Gcd'(Pos(Succ(Succ(x15))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x15))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'(x14, x13)=new_gcd0Gcd'(Pos(Succ(Succ(x15))), Neg(Succ(Zero))) ==> new_gcd0Gcd'0(x13, x14)_>=_new_gcd0Gcd'(x14, x13)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x15))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x15))), Neg(Succ(Zero)))) *We consider the chain new_gcd0Gcd'0(x16, x17) -> new_gcd0Gcd'(x17, x16), new_gcd0Gcd'(Neg(Succ(Succ(Succ(x18)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x18)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x17, x16)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(x18)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(x16, x17)_>=_new_gcd0Gcd'(x17, x16)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x18)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x18)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'0(x19, x20) -> new_gcd0Gcd'(x20, x19), new_gcd0Gcd'(Pos(Succ(Succ(Succ(x21)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x21)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x20, x19)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(x21)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(x19, x20)_>=_new_gcd0Gcd'(x20, x19)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x21)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x21)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'0(x22, x23) -> new_gcd0Gcd'(x23, x22), new_gcd0Gcd'(Neg(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x23, x22)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(x22, x23)_>=_new_gcd0Gcd'(x23, x22)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x24)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'0(x25, x26) -> new_gcd0Gcd'(x26, x25), new_gcd0Gcd'(Pos(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'(x26, x25)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(x25, x26)_>=_new_gcd0Gcd'(x26, x25)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x27)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'0(x28, x29) -> new_gcd0Gcd'(x29, x28), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30))), Neg(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Succ(Succ(x31)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x29, x28)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Succ(Succ(x31)))))) ==> new_gcd0Gcd'0(x28, x29)_>=_new_gcd0Gcd'(x29, x28)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Succ(Succ(x31))))))) *We consider the chain new_gcd0Gcd'0(x32, x33) -> new_gcd0Gcd'(x33, x32), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x33, x32)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x32, x33)_>=_new_gcd0Gcd'(x33, x32)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x34))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x35, x36) -> new_gcd0Gcd'(x36, x35), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x37)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x37), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x37)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x36, x35)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x37)))))) ==> new_gcd0Gcd'0(x35, x36)_>=_new_gcd0Gcd'(x36, x35)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x37))))))) *We consider the chain new_gcd0Gcd'0(x38, x39) -> new_gcd0Gcd'(x39, x38), new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x40)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x40, Zero, x40, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x40)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x39, x38)=new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x40)))))) ==> new_gcd0Gcd'0(x38, x39)_>=_new_gcd0Gcd'(x39, x38)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x40))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x40))))))) *We consider the chain new_gcd0Gcd'0(x41, x42) -> new_gcd0Gcd'(x42, x41), new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x42, x41)=new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x41, x42)_>=_new_gcd0Gcd'(x42, x41)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x43, x44) -> new_gcd0Gcd'(x44, x43), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x45))))), Pos(Succ(Succ(Succ(Succ(x46)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x46)), Succ(Succ(x45)), x46, x45))), Pos(Succ(Succ(Succ(Succ(x45))))), Pos(Succ(Succ(Succ(Succ(x46)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x44, x43)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x45))))), Pos(Succ(Succ(Succ(Succ(x46)))))) ==> new_gcd0Gcd'0(x43, x44)_>=_new_gcd0Gcd'(x44, x43)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x45))))), Pos(Succ(Succ(Succ(Succ(x46))))))) *We consider the chain new_gcd0Gcd'0(x47, x48) -> new_gcd0Gcd'(x48, x47), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x49))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x49))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x48, x47)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x49))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x47, x48)_>=_new_gcd0Gcd'(x48, x47)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x49))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x49))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x50, x51) -> new_gcd0Gcd'(x51, x50), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x52)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x52), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x52)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x51, x50)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x52)))))) ==> new_gcd0Gcd'0(x50, x51)_>=_new_gcd0Gcd'(x51, x50)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x52))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x52))))))) *We consider the chain new_gcd0Gcd'0(x53, x54) -> new_gcd0Gcd'(x54, x53), new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x55)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x55, Zero, x55, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x55)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x54, x53)=new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x55)))))) ==> new_gcd0Gcd'0(x53, x54)_>=_new_gcd0Gcd'(x54, x53)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x55))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x55))))))) *We consider the chain new_gcd0Gcd'0(x56, x57) -> new_gcd0Gcd'(x57, x56), new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x57, x56)=new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x56, x57)_>=_new_gcd0Gcd'(x57, x56)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x58, x59) -> new_gcd0Gcd'(x59, x58), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60))), Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x59, x58)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61)))))) ==> new_gcd0Gcd'0(x58, x59)_>=_new_gcd0Gcd'(x59, x58)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61))))))) *We consider the chain new_gcd0Gcd'0(x62, x63) -> new_gcd0Gcd'(x63, x62), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x63, x62)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x62, x63)_>=_new_gcd0Gcd'(x63, x62)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x65, x66) -> new_gcd0Gcd'(x66, x65), new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x67)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x67), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x67)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x66, x65)=new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x67)))))) ==> new_gcd0Gcd'0(x65, x66)_>=_new_gcd0Gcd'(x66, x65)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x67))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x67))))))) *We consider the chain new_gcd0Gcd'0(x68, x69) -> new_gcd0Gcd'(x69, x68), new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x70)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x70, Zero, x70, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x70)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x69, x68)=new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x70)))))) ==> new_gcd0Gcd'0(x68, x69)_>=_new_gcd0Gcd'(x69, x68)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x70))))))) *We consider the chain new_gcd0Gcd'0(x71, x72) -> new_gcd0Gcd'(x72, x71), new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x72, x71)=new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x71, x72)_>=_new_gcd0Gcd'(x72, x71)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x73, x74) -> new_gcd0Gcd'(x74, x73), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Succ(x76)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x76)), Succ(Succ(x75)), x76, x75))), Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Succ(x76)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x74, x73)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Succ(x76)))))) ==> new_gcd0Gcd'0(x73, x74)_>=_new_gcd0Gcd'(x74, x73)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x76))))), Pos(Succ(Succ(Succ(Succ(x75))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Succ(x76))))))) *We consider the chain new_gcd0Gcd'0(x77, x78) -> new_gcd0Gcd'(x78, x77), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x78, x77)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x77, x78)_>=_new_gcd0Gcd'(x78, x77)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x79))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'0(x80, x81) -> new_gcd0Gcd'(x81, x80), new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x82)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x82), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x82)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x81, x80)=new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x82)))))) ==> new_gcd0Gcd'0(x80, x81)_>=_new_gcd0Gcd'(x81, x80)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x82))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x82))))))) *We consider the chain new_gcd0Gcd'0(x83, x84) -> new_gcd0Gcd'(x84, x83), new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x85, Zero, x85, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85)))))) which results in the following constraint: (1) (new_gcd0Gcd'(x84, x83)=new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85)))))) ==> new_gcd0Gcd'0(x83, x84)_>=_new_gcd0Gcd'(x84, x83)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85))))))) *We consider the chain new_gcd0Gcd'0(x86, x87) -> new_gcd0Gcd'(x87, x86), new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'(x87, x86)=new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x86, x87)_>=_new_gcd0Gcd'(x87, x86)) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x90))), Neg(Succ(Zero))), new_gcd0Gcd'1(False, x91, x92) -> new_gcd0Gcd'0(x91, new_rem(x92, x91)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x90))), Neg(Succ(Zero)))=new_gcd0Gcd'1(False, x91, x92) ==> new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x90))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x90))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x120, x121) -> new_gcd0Gcd'0(x120, new_rem(x121, x120)), new_gcd0Gcd'0(x122, x123) -> new_gcd0Gcd'(x123, x122) which results in the following constraint: (1) (new_gcd0Gcd'0(x120, new_rem(x121, x120))=new_gcd0Gcd'0(x122, x123) ==> new_gcd0Gcd'1(False, x120, x121)_>=_new_gcd0Gcd'0(x120, new_rem(x121, x120))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x120, x121)_>=_new_gcd0Gcd'0(x120, new_rem(x121, x120))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(x184))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x184))), Pos(Succ(Zero))), new_gcd0Gcd'1(False, x185, x186) -> new_gcd0Gcd'0(x185, new_rem(x186, x185)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x184))), Pos(Succ(Zero)))=new_gcd0Gcd'1(False, x185, x186) ==> new_gcd0Gcd'(Pos(Succ(Succ(x184))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x184))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(x184))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x184))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(x216))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x216))), Pos(Succ(Zero))), new_gcd0Gcd'1(False, x217, x218) -> new_gcd0Gcd'0(x217, new_rem(x218, x217)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x216))), Pos(Succ(Zero)))=new_gcd0Gcd'1(False, x217, x218) ==> new_gcd0Gcd'(Neg(Succ(Succ(x216))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x216))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(x216))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x216))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(x248))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x248))), Neg(Succ(Zero))), new_gcd0Gcd'1(False, x249, x250) -> new_gcd0Gcd'0(x249, new_rem(x250, x249)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x248))), Neg(Succ(Zero)))=new_gcd0Gcd'1(False, x249, x250) ==> new_gcd0Gcd'(Pos(Succ(Succ(x248))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x248))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(x248))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x248))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, x281, x282) -> new_gcd0Gcd'0(x281, new_rem(x282, x281)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, x281, x282) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, x313, x314) -> new_gcd0Gcd'0(x313, new_rem(x314, x313)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, x313, x314) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, x345, x346) -> new_gcd0Gcd'0(x345, new_rem(x346, x345)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, x345, x346) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, x377, x378) -> new_gcd0Gcd'0(x377, new_rem(x378, x377)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, x377, x378) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411)))))), new_gcd0Gcd'1(False, x412, x413) -> new_gcd0Gcd'0(x412, new_rem(x413, x412)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))=new_gcd0Gcd'1(False, x412, x413) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))=x1046 & new_esEs(x1046)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1046)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) (5) (new_primEqInt(x1047)=False & Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))=Pos(Succ(x1047)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) (6) (new_primEqInt0(x1048)=False & Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))=Neg(Succ(x1048)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Succ(Succ(x411))=x1049 & Succ(Succ(x410))=x1050 & new_primModNatS01(x1049, x1050, x411, x410)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1048)=False & Succ(Succ(x411))=x1051 & Succ(Succ(x410))=x1052 & new_primModNatS01(x1051, x1052, x411, x410)=Succ(x1048) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1048)=False which results in the following new constraint: (9) (False=False & Succ(Succ(x411))=x1051 & Succ(Succ(x410))=x1052 & new_primModNatS01(x1051, x1052, x411, x410)=Succ(x1053) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(Succ(x411))=x1051 & Succ(Succ(x410))=x1052 & new_primModNatS01(x1051, x1052, x411, x410)=Succ(x1053) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x411)), Succ(Succ(x410)), x411, x410))), Neg(Succ(Succ(Succ(Succ(x410))))), Neg(Succ(Succ(Succ(Succ(x411))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1051, x1052, x411, x410)=Succ(x1053) which results in the following new constraints: (11) (new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x1053) & Succ(Succ(Succ(x1055)))=x1057 & Succ(Succ(Succ(x1054)))=x1056 & (\/x1058:new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x1058) & Succ(Succ(x1055))=x1057 & Succ(Succ(x1054))=x1056 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1054))))), Neg(Succ(Succ(Succ(Succ(x1055))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x1055)), Succ(Succ(x1054)), x1055, x1054))), Neg(Succ(Succ(Succ(Succ(x1054))))), Neg(Succ(Succ(Succ(Succ(x1055))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1055))), Succ(Succ(Succ(x1054))), Succ(x1055), Succ(x1054)))), Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))))) (12) (Succ(Succ(x1061))=Succ(x1053) & Succ(Succ(Zero))=x1061 & Succ(Succ(Succ(x1059)))=x1060 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1059))), Zero, Succ(x1059)))), Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS02(x1063, x1062)=Succ(x1053) & Succ(Succ(Zero))=x1063 & Succ(Succ(Zero))=x1062 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (14) (new_primModNatS02(x1066, x1065)=Succ(x1053) & Succ(Succ(Succ(x1064)))=x1066 & Succ(Succ(Zero))=x1065 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1064))), Succ(Succ(Zero)), Succ(x1064), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (15) (new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x1053) & Succ(Succ(Succ(x1055)))=x1057 & Succ(Succ(Succ(x1054)))=x1056 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1055))), Succ(Succ(Succ(x1054))), Succ(x1055), Succ(x1054)))), Neg(Succ(Succ(Succ(Succ(Succ(x1054)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1055)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1059))), Zero, Succ(x1059)))), Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1063, x1062)=Succ(x1053) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1081), Succ(x1080)), Succ(x1080))=Succ(x1053) & Succ(Succ(Zero))=x1081 & Succ(Succ(Zero))=x1080 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1066, x1065)=Succ(x1053) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x1087), Succ(x1086)), Succ(x1086))=Succ(x1053) & Succ(Succ(Succ(x1064)))=x1087 & Succ(Succ(Zero))=x1086 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1064))), Succ(Succ(Zero)), Succ(x1064), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1057, x1056, x1055, x1054)=Succ(x1053) which results in the following new constraints: (19) (new_primModNatS01(x1070, x1069, x1068, x1067)=Succ(x1053) & Succ(Succ(Succ(Succ(x1068))))=x1070 & Succ(Succ(Succ(Succ(x1067))))=x1069 & (\/x1071:new_primModNatS01(x1070, x1069, x1068, x1067)=Succ(x1071) & Succ(Succ(Succ(x1068)))=x1070 & Succ(Succ(Succ(x1067)))=x1069 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1067)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1068))), Succ(Succ(Succ(x1067))), Succ(x1068), Succ(x1067)))), Neg(Succ(Succ(Succ(Succ(Succ(x1067)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(Succ(Succ(x1067)))), Succ(Succ(x1068)), Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))) (20) (Succ(Succ(x1074))=Succ(x1053) & Succ(Succ(Succ(Zero)))=x1074 & Succ(Succ(Succ(Succ(x1072))))=x1073 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1072)))), Succ(Zero), Succ(Succ(x1072))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (21) (new_primModNatS02(x1076, x1075)=Succ(x1053) & Succ(Succ(Succ(Zero)))=x1076 & Succ(Succ(Succ(Zero)))=x1075 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS02(x1079, x1078)=Succ(x1053) & Succ(Succ(Succ(Succ(x1077))))=x1079 & Succ(Succ(Succ(Zero)))=x1078 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1077)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1077)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(Succ(Succ(x1067)))), Succ(Succ(x1068)), Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))) We simplified constraint (20) using rules (I), (II), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1072)))), Succ(Zero), Succ(Succ(x1072))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1077)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1077)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (27) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1064))), Succ(Succ(Zero)), Succ(x1064), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x471, x472) -> new_gcd0Gcd'0(x471, new_rem(x472, x471)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x471, x472) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502)))))), new_gcd0Gcd'1(False, x503, x504) -> new_gcd0Gcd'0(x503, new_rem(x504, x503)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))=new_gcd0Gcd'1(False, x503, x504) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))=x1092 & new_esEs(x1092)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1092)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (5) (new_primEqInt(x1093)=False & Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))=Pos(Succ(x1093)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (6) (new_primEqInt0(x1094)=False & Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))=Neg(Succ(x1094)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Succ(x502)=x1095 & Succ(Succ(Zero))=x1096 & new_primModNatS1(x1095, x1096)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1094)=False & Succ(x502)=x1097 & Succ(Succ(Zero))=x1098 & new_primModNatS1(x1097, x1098)=Succ(x1094) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1094)=False which results in the following new constraint: (9) (False=False & Succ(x502)=x1097 & Succ(Succ(Zero))=x1098 & new_primModNatS1(x1097, x1098)=Succ(x1099) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(x502)=x1097 & Succ(Succ(Zero))=x1098 & new_primModNatS1(x1097, x1098)=Succ(x1099) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1097, x1098)=Succ(x1099) which results in the following new constraints: (11) (new_primModNatS1(new_primMinusNatS0(x1100), Zero)=Succ(x1099) & Succ(x502)=Succ(Succ(x1100)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (12) (Succ(Zero)=Succ(x1099) & Succ(x502)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1101) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (13) (new_primModNatS01(x1103, x1102, x1103, x1102)=Succ(x1099) & Succ(x502)=Succ(Succ(x1103)) & Succ(Succ(Zero))=Succ(x1102) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) (14) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1099) & Succ(x502)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x502), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x502))))))) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (x1103=x1105 & x1102=x1106 & new_primModNatS01(x1103, x1102, x1105, x1106)=Succ(x1099) & Succ(Zero)=x1102 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1103)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1103)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1103)))))))) We solved constraint (14) using rules (I), (II).We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1103, x1102, x1105, x1106)=Succ(x1099) which results in the following new constraints: (17) (new_primModNatS01(x1110, x1109, x1108, x1107)=Succ(x1099) & x1110=Succ(x1108) & x1109=Succ(x1107) & Succ(Zero)=x1109 & (\/x1111:new_primModNatS01(x1110, x1109, x1108, x1107)=Succ(x1111) & x1110=x1108 & x1109=x1107 & Succ(Zero)=x1109 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1110)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1110)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1110)))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1110)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1110)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1110)))))))) (18) (Succ(Succ(x1114))=Succ(x1099) & x1114=Zero & x1113=Succ(x1112) & Succ(Zero)=x1113 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1114)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1114)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1114)))))))) (19) (new_primModNatS02(x1116, x1115)=Succ(x1099) & x1116=Zero & x1115=Zero & Succ(Zero)=x1115 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1116)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1116)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1116)))))))) (20) (new_primModNatS02(x1119, x1118)=Succ(x1099) & x1119=Succ(x1117) & x1118=Zero & Succ(Zero)=x1118 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1119)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1119)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1119)))))))) We simplified constraint (17) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1108))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x1108))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1108))))))))) We simplified constraint (18) using rules (I), (II), (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (19) using rules (I), (II), (III).We solved constraint (20) using rules (I), (II), (III). For Pair new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534)))))), new_gcd0Gcd'1(False, x535, x536) -> new_gcd0Gcd'0(x535, new_rem(x536, x535)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))=new_gcd0Gcd'1(False, x535, x536) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(x534, Zero, x534, Zero))=x1122 & new_esEs(x1122)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1122)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS01(x534, Zero, x534, Zero))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS01(x534, Zero, x534, Zero))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) (5) (new_primEqInt(x1123)=False & Neg(new_primModNatS01(x534, Zero, x534, Zero))=Pos(Succ(x1123)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) (6) (new_primEqInt0(x1124)=False & Neg(new_primModNatS01(x534, Zero, x534, Zero))=Neg(Succ(x1124)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Zero=x1125 & x534=x1126 & Zero=x1127 & new_primModNatS01(x534, x1125, x1126, x1127)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1124)=False & Zero=x1128 & x534=x1129 & Zero=x1130 & new_primModNatS01(x534, x1128, x1129, x1130)=Succ(x1124) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1124)=False which results in the following new constraint: (9) (False=False & Zero=x1128 & x534=x1129 & Zero=x1130 & new_primModNatS01(x534, x1128, x1129, x1130)=Succ(x1131) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Zero=x1128 & x534=x1129 & Zero=x1130 & new_primModNatS01(x534, x1128, x1129, x1130)=Succ(x1131) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x534, Zero, x534, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x534))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x534, x1128, x1129, x1130)=Succ(x1131) which results in the following new constraints: (11) (new_primModNatS01(x1135, x1134, x1133, x1132)=Succ(x1131) & Zero=x1134 & x1135=Succ(x1133) & Zero=Succ(x1132) & (\/x1136:new_primModNatS01(x1135, x1134, x1133, x1132)=Succ(x1136) & Zero=x1134 & x1135=x1133 & Zero=x1132 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1135))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1135, Zero, x1135, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1135))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1135))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1135, Zero, x1135, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1135))))))) (12) (Succ(Succ(x1139))=Succ(x1131) & Zero=x1138 & x1139=Zero & Zero=Succ(x1137) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1139))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1139, Zero, x1139, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1139))))))) (13) (new_primModNatS02(x1141, x1140)=Succ(x1131) & Zero=x1140 & x1141=Zero & Zero=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1141))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1141, Zero, x1141, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1141))))))) (14) (new_primModNatS02(x1144, x1143)=Succ(x1131) & Zero=x1143 & x1144=Succ(x1142) & Zero=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1144))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1144, Zero, x1144, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1144))))))) We solved constraint (11) using rules (I), (II).We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (15) (Zero=x1145 & new_primModNatS02(x1145, x1140)=Succ(x1131) & Zero=x1140 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (Succ(x1142)=x1152 & new_primModNatS02(x1152, x1143)=Succ(x1131) & Zero=x1143 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1142), Zero, Succ(x1142), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1145, x1140)=Succ(x1131) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1147), Succ(x1146)), Succ(x1146))=Succ(x1131) & Zero=x1147 & Zero=x1146 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1152, x1143)=Succ(x1131) which results in the following new constraint: (19) (new_primModNatS1(new_primMinusNatS2(Succ(x1154), Succ(x1153)), Succ(x1153))=Succ(x1131) & Succ(x1142)=x1154 & Zero=x1153 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1142), Zero, Succ(x1142), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))) We simplified constraint (19) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1142), Zero, Succ(x1142), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x564, x565) -> new_gcd0Gcd'0(x564, new_rem(x565, x564)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x564, x565) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571)))))), new_gcd0Gcd'1(False, x572, x573) -> new_gcd0Gcd'0(x572, new_rem(x573, x572)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))=new_gcd0Gcd'1(False, x572, x573) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))=x1159 & new_esEs(x1159)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1159)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) (5) (new_primEqInt(x1160)=False & Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))=Pos(Succ(x1160)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) (6) (new_primEqInt0(x1161)=False & Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))=Neg(Succ(x1161)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Succ(Succ(x571))=x1162 & Succ(Succ(x570))=x1163 & new_primModNatS01(x1162, x1163, x571, x570)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1160)=False & Succ(Succ(x571))=x1164 & Succ(Succ(x570))=x1165 & new_primModNatS01(x1164, x1165, x571, x570)=Succ(x1160) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1160)=False which results in the following new constraint: (9) (False=False & Succ(Succ(x571))=x1164 & Succ(Succ(x570))=x1165 & new_primModNatS01(x1164, x1165, x571, x570)=Succ(x1166) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(Succ(x571))=x1164 & Succ(Succ(x570))=x1165 & new_primModNatS01(x1164, x1165, x571, x570)=Succ(x1166) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x571)), Succ(Succ(x570)), x571, x570))), Pos(Succ(Succ(Succ(Succ(x570))))), Pos(Succ(Succ(Succ(Succ(x571))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1164, x1165, x571, x570)=Succ(x1166) which results in the following new constraints: (11) (new_primModNatS01(x1170, x1169, x1168, x1167)=Succ(x1166) & Succ(Succ(Succ(x1168)))=x1170 & Succ(Succ(Succ(x1167)))=x1169 & (\/x1171:new_primModNatS01(x1170, x1169, x1168, x1167)=Succ(x1171) & Succ(Succ(x1168))=x1170 & Succ(Succ(x1167))=x1169 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1167))))), Pos(Succ(Succ(Succ(Succ(x1168))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x1168)), Succ(Succ(x1167)), x1168, x1167))), Pos(Succ(Succ(Succ(Succ(x1167))))), Pos(Succ(Succ(Succ(Succ(x1168))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1167)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1168)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1168))), Succ(Succ(Succ(x1167))), Succ(x1168), Succ(x1167)))), Pos(Succ(Succ(Succ(Succ(Succ(x1167)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1168)))))))) (12) (Succ(Succ(x1174))=Succ(x1166) & Succ(Succ(Zero))=x1174 & Succ(Succ(Succ(x1172)))=x1173 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1172))), Zero, Succ(x1172)))), Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS02(x1176, x1175)=Succ(x1166) & Succ(Succ(Zero))=x1176 & Succ(Succ(Zero))=x1175 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (14) (new_primModNatS02(x1179, x1178)=Succ(x1166) & Succ(Succ(Succ(x1177)))=x1179 & Succ(Succ(Zero))=x1178 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1177))), Succ(Succ(Zero)), Succ(x1177), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (15) (new_primModNatS01(x1170, x1169, x1168, x1167)=Succ(x1166) & Succ(Succ(Succ(x1168)))=x1170 & Succ(Succ(Succ(x1167)))=x1169 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1167)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1168)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1168))), Succ(Succ(Succ(x1167))), Succ(x1168), Succ(x1167)))), Pos(Succ(Succ(Succ(Succ(Succ(x1167)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1168)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1172))), Zero, Succ(x1172)))), Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1176, x1175)=Succ(x1166) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1194), Succ(x1193)), Succ(x1193))=Succ(x1166) & Succ(Succ(Zero))=x1194 & Succ(Succ(Zero))=x1193 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1179, x1178)=Succ(x1166) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x1200), Succ(x1199)), Succ(x1199))=Succ(x1166) & Succ(Succ(Succ(x1177)))=x1200 & Succ(Succ(Zero))=x1199 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1177))), Succ(Succ(Zero)), Succ(x1177), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1170, x1169, x1168, x1167)=Succ(x1166) which results in the following new constraints: (19) (new_primModNatS01(x1183, x1182, x1181, x1180)=Succ(x1166) & Succ(Succ(Succ(Succ(x1181))))=x1183 & Succ(Succ(Succ(Succ(x1180))))=x1182 & (\/x1184:new_primModNatS01(x1183, x1182, x1181, x1180)=Succ(x1184) & Succ(Succ(Succ(x1181)))=x1183 & Succ(Succ(Succ(x1180)))=x1182 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1180)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1181)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1181))), Succ(Succ(Succ(x1180))), Succ(x1181), Succ(x1180)))), Pos(Succ(Succ(Succ(Succ(Succ(x1180)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1181)))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1181)))), Succ(Succ(Succ(Succ(x1180)))), Succ(Succ(x1181)), Succ(Succ(x1180))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))) (20) (Succ(Succ(x1187))=Succ(x1166) & Succ(Succ(Succ(Zero)))=x1187 & Succ(Succ(Succ(Succ(x1185))))=x1186 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1185)))), Succ(Zero), Succ(Succ(x1185))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (21) (new_primModNatS02(x1189, x1188)=Succ(x1166) & Succ(Succ(Succ(Zero)))=x1189 & Succ(Succ(Succ(Zero)))=x1188 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS02(x1192, x1191)=Succ(x1166) & Succ(Succ(Succ(Succ(x1190))))=x1192 & Succ(Succ(Succ(Zero)))=x1191 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1190)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1190)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1181)))), Succ(Succ(Succ(Succ(x1180)))), Succ(Succ(x1181)), Succ(Succ(x1180))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))) We simplified constraint (20) using rules (I), (II), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1185)))), Succ(Zero), Succ(Succ(x1185))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1190)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1190)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (27) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1177))), Succ(Succ(Zero)), Succ(x1177), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x631, x632) -> new_gcd0Gcd'0(x631, new_rem(x632, x631)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x631, x632) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662)))))), new_gcd0Gcd'1(False, x663, x664) -> new_gcd0Gcd'0(x663, new_rem(x664, x663)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))=new_gcd0Gcd'1(False, x663, x664) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))=x1205 & new_esEs(x1205)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1205)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (5) (new_primEqInt(x1206)=False & Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))=Pos(Succ(x1206)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (6) (new_primEqInt0(x1207)=False & Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))=Neg(Succ(x1207)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Succ(x662)=x1208 & Succ(Succ(Zero))=x1209 & new_primModNatS1(x1208, x1209)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1206)=False & Succ(x662)=x1210 & Succ(Succ(Zero))=x1211 & new_primModNatS1(x1210, x1211)=Succ(x1206) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1206)=False which results in the following new constraint: (9) (False=False & Succ(x662)=x1210 & Succ(Succ(Zero))=x1211 & new_primModNatS1(x1210, x1211)=Succ(x1212) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(x662)=x1210 & Succ(Succ(Zero))=x1211 & new_primModNatS1(x1210, x1211)=Succ(x1212) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1210, x1211)=Succ(x1212) which results in the following new constraints: (11) (new_primModNatS1(new_primMinusNatS0(x1213), Zero)=Succ(x1212) & Succ(x662)=Succ(Succ(x1213)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (12) (Succ(Zero)=Succ(x1212) & Succ(x662)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1214) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (13) (new_primModNatS01(x1216, x1215, x1216, x1215)=Succ(x1212) & Succ(x662)=Succ(Succ(x1216)) & Succ(Succ(Zero))=Succ(x1215) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) (14) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1212) & Succ(x662)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x662), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x662))))))) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (x1216=x1218 & x1215=x1219 & new_primModNatS01(x1216, x1215, x1218, x1219)=Succ(x1212) & Succ(Zero)=x1215 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1216)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1216)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1216)))))))) We solved constraint (14) using rules (I), (II).We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1216, x1215, x1218, x1219)=Succ(x1212) which results in the following new constraints: (17) (new_primModNatS01(x1223, x1222, x1221, x1220)=Succ(x1212) & x1223=Succ(x1221) & x1222=Succ(x1220) & Succ(Zero)=x1222 & (\/x1224:new_primModNatS01(x1223, x1222, x1221, x1220)=Succ(x1224) & x1223=x1221 & x1222=x1220 & Succ(Zero)=x1222 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1223)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1223)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1223)))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1223)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1223)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1223)))))))) (18) (Succ(Succ(x1227))=Succ(x1212) & x1227=Zero & x1226=Succ(x1225) & Succ(Zero)=x1226 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1227)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1227)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1227)))))))) (19) (new_primModNatS02(x1229, x1228)=Succ(x1212) & x1229=Zero & x1228=Zero & Succ(Zero)=x1228 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1229)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1229)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1229)))))))) (20) (new_primModNatS02(x1232, x1231)=Succ(x1212) & x1232=Succ(x1230) & x1231=Zero & Succ(Zero)=x1231 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1232)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1232)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1232)))))))) We simplified constraint (17) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1221))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x1221))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1221))))))))) We simplified constraint (18) using rules (I), (II), (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (19) using rules (I), (II), (III).We solved constraint (20) using rules (I), (II), (III). For Pair new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694)))))), new_gcd0Gcd'1(False, x695, x696) -> new_gcd0Gcd'0(x695, new_rem(x696, x695)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))=new_gcd0Gcd'1(False, x695, x696) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(x694, Zero, x694, Zero))=x1235 & new_esEs(x1235)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1235)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS01(x694, Zero, x694, Zero))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS01(x694, Zero, x694, Zero))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) (5) (new_primEqInt(x1236)=False & Pos(new_primModNatS01(x694, Zero, x694, Zero))=Pos(Succ(x1236)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) (6) (new_primEqInt0(x1237)=False & Pos(new_primModNatS01(x694, Zero, x694, Zero))=Neg(Succ(x1237)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Zero=x1238 & x694=x1239 & Zero=x1240 & new_primModNatS01(x694, x1238, x1239, x1240)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1236)=False & Zero=x1241 & x694=x1242 & Zero=x1243 & new_primModNatS01(x694, x1241, x1242, x1243)=Succ(x1236) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1236)=False which results in the following new constraint: (9) (False=False & Zero=x1241 & x694=x1242 & Zero=x1243 & new_primModNatS01(x694, x1241, x1242, x1243)=Succ(x1244) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Zero=x1241 & x694=x1242 & Zero=x1243 & new_primModNatS01(x694, x1241, x1242, x1243)=Succ(x1244) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x694, Zero, x694, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x694))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x694, x1241, x1242, x1243)=Succ(x1244) which results in the following new constraints: (11) (new_primModNatS01(x1248, x1247, x1246, x1245)=Succ(x1244) & Zero=x1247 & x1248=Succ(x1246) & Zero=Succ(x1245) & (\/x1249:new_primModNatS01(x1248, x1247, x1246, x1245)=Succ(x1249) & Zero=x1247 & x1248=x1246 & Zero=x1245 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1248))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1248, Zero, x1248, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1248))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1248))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1248, Zero, x1248, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1248))))))) (12) (Succ(Succ(x1252))=Succ(x1244) & Zero=x1251 & x1252=Zero & Zero=Succ(x1250) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1252))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1252, Zero, x1252, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1252))))))) (13) (new_primModNatS02(x1254, x1253)=Succ(x1244) & Zero=x1253 & x1254=Zero & Zero=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1254))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1254, Zero, x1254, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1254))))))) (14) (new_primModNatS02(x1257, x1256)=Succ(x1244) & Zero=x1256 & x1257=Succ(x1255) & Zero=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1257))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1257, Zero, x1257, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1257))))))) We solved constraint (11) using rules (I), (II).We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (15) (Zero=x1258 & new_primModNatS02(x1258, x1253)=Succ(x1244) & Zero=x1253 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (Succ(x1255)=x1265 & new_primModNatS02(x1265, x1256)=Succ(x1244) & Zero=x1256 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1255), Zero, Succ(x1255), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1258, x1253)=Succ(x1244) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1260), Succ(x1259)), Succ(x1259))=Succ(x1244) & Zero=x1260 & Zero=x1259 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1265, x1256)=Succ(x1244) which results in the following new constraint: (19) (new_primModNatS1(new_primMinusNatS2(Succ(x1267), Succ(x1266)), Succ(x1266))=Succ(x1244) & Succ(x1255)=x1267 & Zero=x1266 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1255), Zero, Succ(x1255), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))) We simplified constraint (19) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1255), Zero, Succ(x1255), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x724, x725) -> new_gcd0Gcd'0(x724, new_rem(x725, x724)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x724, x725) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731)))))), new_gcd0Gcd'1(False, x732, x733) -> new_gcd0Gcd'0(x732, new_rem(x733, x732)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))=new_gcd0Gcd'1(False, x732, x733) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))=x1272 & new_esEs(x1272)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1272)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) (5) (new_primEqInt(x1273)=False & Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))=Pos(Succ(x1273)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) (6) (new_primEqInt0(x1274)=False & Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))=Neg(Succ(x1274)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Succ(Succ(x731))=x1275 & Succ(Succ(x730))=x1276 & new_primModNatS01(x1275, x1276, x731, x730)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1273)=False & Succ(Succ(x731))=x1277 & Succ(Succ(x730))=x1278 & new_primModNatS01(x1277, x1278, x731, x730)=Succ(x1273) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1273)=False which results in the following new constraint: (9) (False=False & Succ(Succ(x731))=x1277 & Succ(Succ(x730))=x1278 & new_primModNatS01(x1277, x1278, x731, x730)=Succ(x1279) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(Succ(x731))=x1277 & Succ(Succ(x730))=x1278 & new_primModNatS01(x1277, x1278, x731, x730)=Succ(x1279) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x731)), Succ(Succ(x730)), x731, x730))), Neg(Succ(Succ(Succ(Succ(x730))))), Pos(Succ(Succ(Succ(Succ(x731))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1277, x1278, x731, x730)=Succ(x1279) which results in the following new constraints: (11) (new_primModNatS01(x1283, x1282, x1281, x1280)=Succ(x1279) & Succ(Succ(Succ(x1281)))=x1283 & Succ(Succ(Succ(x1280)))=x1282 & (\/x1284:new_primModNatS01(x1283, x1282, x1281, x1280)=Succ(x1284) & Succ(Succ(x1281))=x1283 & Succ(Succ(x1280))=x1282 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1280))))), Pos(Succ(Succ(Succ(Succ(x1281))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x1281)), Succ(Succ(x1280)), x1281, x1280))), Neg(Succ(Succ(Succ(Succ(x1280))))), Pos(Succ(Succ(Succ(Succ(x1281))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1280)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1281)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1281))), Succ(Succ(Succ(x1280))), Succ(x1281), Succ(x1280)))), Neg(Succ(Succ(Succ(Succ(Succ(x1280)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1281)))))))) (12) (Succ(Succ(x1287))=Succ(x1279) & Succ(Succ(Zero))=x1287 & Succ(Succ(Succ(x1285)))=x1286 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1285))), Zero, Succ(x1285)))), Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS02(x1289, x1288)=Succ(x1279) & Succ(Succ(Zero))=x1289 & Succ(Succ(Zero))=x1288 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (14) (new_primModNatS02(x1292, x1291)=Succ(x1279) & Succ(Succ(Succ(x1290)))=x1292 & Succ(Succ(Zero))=x1291 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1290))), Succ(Succ(Zero)), Succ(x1290), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (15) (new_primModNatS01(x1283, x1282, x1281, x1280)=Succ(x1279) & Succ(Succ(Succ(x1281)))=x1283 & Succ(Succ(Succ(x1280)))=x1282 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1280)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1281)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1281))), Succ(Succ(Succ(x1280))), Succ(x1281), Succ(x1280)))), Neg(Succ(Succ(Succ(Succ(Succ(x1280)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1281)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1285))), Zero, Succ(x1285)))), Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1289, x1288)=Succ(x1279) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1307), Succ(x1306)), Succ(x1306))=Succ(x1279) & Succ(Succ(Zero))=x1307 & Succ(Succ(Zero))=x1306 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1292, x1291)=Succ(x1279) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x1313), Succ(x1312)), Succ(x1312))=Succ(x1279) & Succ(Succ(Succ(x1290)))=x1313 & Succ(Succ(Zero))=x1312 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1290))), Succ(Succ(Zero)), Succ(x1290), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1283, x1282, x1281, x1280)=Succ(x1279) which results in the following new constraints: (19) (new_primModNatS01(x1296, x1295, x1294, x1293)=Succ(x1279) & Succ(Succ(Succ(Succ(x1294))))=x1296 & Succ(Succ(Succ(Succ(x1293))))=x1295 & (\/x1297:new_primModNatS01(x1296, x1295, x1294, x1293)=Succ(x1297) & Succ(Succ(Succ(x1294)))=x1296 & Succ(Succ(Succ(x1293)))=x1295 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1294)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1294))), Succ(Succ(Succ(x1293))), Succ(x1294), Succ(x1293)))), Neg(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1294)))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1294)))), Succ(Succ(Succ(Succ(x1293)))), Succ(Succ(x1294)), Succ(Succ(x1293))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))) (20) (Succ(Succ(x1300))=Succ(x1279) & Succ(Succ(Succ(Zero)))=x1300 & Succ(Succ(Succ(Succ(x1298))))=x1299 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1298)))), Succ(Zero), Succ(Succ(x1298))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (21) (new_primModNatS02(x1302, x1301)=Succ(x1279) & Succ(Succ(Succ(Zero)))=x1302 & Succ(Succ(Succ(Zero)))=x1301 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS02(x1305, x1304)=Succ(x1279) & Succ(Succ(Succ(Succ(x1303))))=x1305 & Succ(Succ(Succ(Zero)))=x1304 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1303)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1303)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1294)))), Succ(Succ(Succ(Succ(x1293)))), Succ(Succ(x1294)), Succ(Succ(x1293))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))) We simplified constraint (20) using rules (I), (II), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1298)))), Succ(Zero), Succ(Succ(x1298))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1303)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1303)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (27) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1290))), Succ(Succ(Zero)), Succ(x1290), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x791, x792) -> new_gcd0Gcd'0(x791, new_rem(x792, x791)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x791, x792) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822)))))), new_gcd0Gcd'1(False, x823, x824) -> new_gcd0Gcd'0(x823, new_rem(x824, x823)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))=new_gcd0Gcd'1(False, x823, x824) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))=x1318 & new_esEs(x1318)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1318)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (5) (new_primEqInt(x1319)=False & Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))=Pos(Succ(x1319)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (6) (new_primEqInt0(x1320)=False & Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))=Neg(Succ(x1320)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Succ(x822)=x1321 & Succ(Succ(Zero))=x1322 & new_primModNatS1(x1321, x1322)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1319)=False & Succ(x822)=x1323 & Succ(Succ(Zero))=x1324 & new_primModNatS1(x1323, x1324)=Succ(x1319) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1319)=False which results in the following new constraint: (9) (False=False & Succ(x822)=x1323 & Succ(Succ(Zero))=x1324 & new_primModNatS1(x1323, x1324)=Succ(x1325) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(x822)=x1323 & Succ(Succ(Zero))=x1324 & new_primModNatS1(x1323, x1324)=Succ(x1325) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1323, x1324)=Succ(x1325) which results in the following new constraints: (11) (new_primModNatS1(new_primMinusNatS0(x1326), Zero)=Succ(x1325) & Succ(x822)=Succ(Succ(x1326)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (12) (Succ(Zero)=Succ(x1325) & Succ(x822)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1327) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (13) (new_primModNatS01(x1329, x1328, x1329, x1328)=Succ(x1325) & Succ(x822)=Succ(Succ(x1329)) & Succ(Succ(Zero))=Succ(x1328) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) (14) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1325) & Succ(x822)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x822), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))))) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (x1329=x1331 & x1328=x1332 & new_primModNatS01(x1329, x1328, x1331, x1332)=Succ(x1325) & Succ(Zero)=x1328 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1329)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1329)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1329)))))))) We solved constraint (14) using rules (I), (II).We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1329, x1328, x1331, x1332)=Succ(x1325) which results in the following new constraints: (17) (new_primModNatS01(x1336, x1335, x1334, x1333)=Succ(x1325) & x1336=Succ(x1334) & x1335=Succ(x1333) & Succ(Zero)=x1335 & (\/x1337:new_primModNatS01(x1336, x1335, x1334, x1333)=Succ(x1337) & x1336=x1334 & x1335=x1333 & Succ(Zero)=x1335 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1336)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1336)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1336)))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1336)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1336)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1336)))))))) (18) (Succ(Succ(x1340))=Succ(x1325) & x1340=Zero & x1339=Succ(x1338) & Succ(Zero)=x1339 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1340)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1340)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1340)))))))) (19) (new_primModNatS02(x1342, x1341)=Succ(x1325) & x1342=Zero & x1341=Zero & Succ(Zero)=x1341 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1342)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1342)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1342)))))))) (20) (new_primModNatS02(x1345, x1344)=Succ(x1325) & x1345=Succ(x1343) & x1344=Zero & Succ(Zero)=x1344 ==> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x1345)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))))) We simplified constraint (17) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1334))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x1334))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1334))))))))) We simplified constraint (18) using rules (I), (II), (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (19) using rules (I), (II), (III).We solved constraint (20) using rules (I), (II), (III). For Pair new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854)))))), new_gcd0Gcd'1(False, x855, x856) -> new_gcd0Gcd'0(x855, new_rem(x856, x855)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))=new_gcd0Gcd'1(False, x855, x856) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(x854, Zero, x854, Zero))=x1348 & new_esEs(x1348)=False ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1348)=False which results in the following new constraints: (3) (new_primEqInt2=False & Pos(new_primModNatS01(x854, Zero, x854, Zero))=Neg(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) (4) (new_primEqInt1=False & Pos(new_primModNatS01(x854, Zero, x854, Zero))=Pos(Zero) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) (5) (new_primEqInt(x1349)=False & Pos(new_primModNatS01(x854, Zero, x854, Zero))=Pos(Succ(x1349)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) (6) (new_primEqInt0(x1350)=False & Pos(new_primModNatS01(x854, Zero, x854, Zero))=Neg(Succ(x1350)) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt1=False & Zero=x1351 & x854=x1352 & Zero=x1353 & new_primModNatS01(x854, x1351, x1352, x1353)=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt(x1349)=False & Zero=x1354 & x854=x1355 & Zero=x1356 & new_primModNatS01(x854, x1354, x1355, x1356)=Succ(x1349) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1349)=False which results in the following new constraint: (9) (False=False & Zero=x1354 & x854=x1355 & Zero=x1356 & new_primModNatS01(x854, x1354, x1355, x1356)=Succ(x1357) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Zero=x1354 & x854=x1355 & Zero=x1356 & new_primModNatS01(x854, x1354, x1355, x1356)=Succ(x1357) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x854, Zero, x854, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x854))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x854, x1354, x1355, x1356)=Succ(x1357) which results in the following new constraints: (11) (new_primModNatS01(x1361, x1360, x1359, x1358)=Succ(x1357) & Zero=x1360 & x1361=Succ(x1359) & Zero=Succ(x1358) & (\/x1362:new_primModNatS01(x1361, x1360, x1359, x1358)=Succ(x1362) & Zero=x1360 & x1361=x1359 & Zero=x1358 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1361))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1361, Zero, x1361, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1361))))))) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1361))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1361, Zero, x1361, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1361))))))) (12) (Succ(Succ(x1365))=Succ(x1357) & Zero=x1364 & x1365=Zero & Zero=Succ(x1363) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1365))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1365, Zero, x1365, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1365))))))) (13) (new_primModNatS02(x1367, x1366)=Succ(x1357) & Zero=x1366 & x1367=Zero & Zero=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1367))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1367, Zero, x1367, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1367))))))) (14) (new_primModNatS02(x1370, x1369)=Succ(x1357) & Zero=x1369 & x1370=Succ(x1368) & Zero=Zero ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1370))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1370, Zero, x1370, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1370))))))) We solved constraint (11) using rules (I), (II).We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (15) (Zero=x1371 & new_primModNatS02(x1371, x1366)=Succ(x1357) & Zero=x1366 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (Succ(x1368)=x1378 & new_primModNatS02(x1378, x1369)=Succ(x1357) & Zero=x1369 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1368), Zero, Succ(x1368), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1371, x1366)=Succ(x1357) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1373), Succ(x1372)), Succ(x1372))=Succ(x1357) & Zero=x1373 & Zero=x1372 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1378, x1369)=Succ(x1357) which results in the following new constraint: (19) (new_primModNatS1(new_primMinusNatS2(Succ(x1380), Succ(x1379)), Succ(x1379))=Succ(x1357) & Succ(x1368)=x1380 & Zero=x1379 ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1368), Zero, Succ(x1368), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))) We simplified constraint (19) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1368), Zero, Succ(x1368), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))) For Pair new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x884, x885) -> new_gcd0Gcd'0(x884, new_rem(x885, x884)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x884, x885) ==> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891)))))), new_gcd0Gcd'1(False, x892, x893) -> new_gcd0Gcd'0(x892, new_rem(x893, x892)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))=new_gcd0Gcd'1(False, x892, x893) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))=x1385 & new_esEs(x1385)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1385)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) (5) (new_primEqInt(x1386)=False & Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))=Pos(Succ(x1386)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) (6) (new_primEqInt0(x1387)=False & Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))=Neg(Succ(x1387)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Succ(Succ(x891))=x1388 & Succ(Succ(x890))=x1389 & new_primModNatS01(x1388, x1389, x891, x890)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1387)=False & Succ(Succ(x891))=x1390 & Succ(Succ(x890))=x1391 & new_primModNatS01(x1390, x1391, x891, x890)=Succ(x1387) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1387)=False which results in the following new constraint: (9) (False=False & Succ(Succ(x891))=x1390 & Succ(Succ(x890))=x1391 & new_primModNatS01(x1390, x1391, x891, x890)=Succ(x1392) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(Succ(x891))=x1390 & Succ(Succ(x890))=x1391 & new_primModNatS01(x1390, x1391, x891, x890)=Succ(x1392) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x891)), Succ(Succ(x890)), x891, x890))), Pos(Succ(Succ(Succ(Succ(x890))))), Neg(Succ(Succ(Succ(Succ(x891))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1390, x1391, x891, x890)=Succ(x1392) which results in the following new constraints: (11) (new_primModNatS01(x1396, x1395, x1394, x1393)=Succ(x1392) & Succ(Succ(Succ(x1394)))=x1396 & Succ(Succ(Succ(x1393)))=x1395 & (\/x1397:new_primModNatS01(x1396, x1395, x1394, x1393)=Succ(x1397) & Succ(Succ(x1394))=x1396 & Succ(Succ(x1393))=x1395 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1393))))), Neg(Succ(Succ(Succ(Succ(x1394))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x1394)), Succ(Succ(x1393)), x1394, x1393))), Pos(Succ(Succ(Succ(Succ(x1393))))), Neg(Succ(Succ(Succ(Succ(x1394))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1393)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1394)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1394))), Succ(Succ(Succ(x1393))), Succ(x1394), Succ(x1393)))), Pos(Succ(Succ(Succ(Succ(Succ(x1393)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1394)))))))) (12) (Succ(Succ(x1400))=Succ(x1392) & Succ(Succ(Zero))=x1400 & Succ(Succ(Succ(x1398)))=x1399 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1398))), Zero, Succ(x1398)))), Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS02(x1402, x1401)=Succ(x1392) & Succ(Succ(Zero))=x1402 & Succ(Succ(Zero))=x1401 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (14) (new_primModNatS02(x1405, x1404)=Succ(x1392) & Succ(Succ(Succ(x1403)))=x1405 & Succ(Succ(Zero))=x1404 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1403))), Succ(Succ(Zero)), Succ(x1403), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))) We simplified constraint (11) using rule (IV) which results in the following new constraint: (15) (new_primModNatS01(x1396, x1395, x1394, x1393)=Succ(x1392) & Succ(Succ(Succ(x1394)))=x1396 & Succ(Succ(Succ(x1393)))=x1395 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1393)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1394)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1394))), Succ(Succ(Succ(x1393))), Succ(x1394), Succ(x1393)))), Pos(Succ(Succ(Succ(Succ(Succ(x1393)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1394)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1398))), Zero, Succ(x1398)))), Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1402, x1401)=Succ(x1392) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1420), Succ(x1419)), Succ(x1419))=Succ(x1392) & Succ(Succ(Zero))=x1420 & Succ(Succ(Zero))=x1419 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1405, x1404)=Succ(x1392) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x1426), Succ(x1425)), Succ(x1425))=Succ(x1392) & Succ(Succ(Succ(x1403)))=x1426 & Succ(Succ(Zero))=x1425 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1403))), Succ(Succ(Zero)), Succ(x1403), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1396, x1395, x1394, x1393)=Succ(x1392) which results in the following new constraints: (19) (new_primModNatS01(x1409, x1408, x1407, x1406)=Succ(x1392) & Succ(Succ(Succ(Succ(x1407))))=x1409 & Succ(Succ(Succ(Succ(x1406))))=x1408 & (\/x1410:new_primModNatS01(x1409, x1408, x1407, x1406)=Succ(x1410) & Succ(Succ(Succ(x1407)))=x1409 & Succ(Succ(Succ(x1406)))=x1408 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1406)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1407)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1407))), Succ(Succ(Succ(x1406))), Succ(x1407), Succ(x1406)))), Pos(Succ(Succ(Succ(Succ(Succ(x1406)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1407)))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1407)))), Succ(Succ(Succ(Succ(x1406)))), Succ(Succ(x1407)), Succ(Succ(x1406))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))) (20) (Succ(Succ(x1413))=Succ(x1392) & Succ(Succ(Succ(Zero)))=x1413 & Succ(Succ(Succ(Succ(x1411))))=x1412 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1411)))), Succ(Zero), Succ(Succ(x1411))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (21) (new_primModNatS02(x1415, x1414)=Succ(x1392) & Succ(Succ(Succ(Zero)))=x1415 & Succ(Succ(Succ(Zero)))=x1414 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS02(x1418, x1417)=Succ(x1392) & Succ(Succ(Succ(Succ(x1416))))=x1418 & Succ(Succ(Succ(Zero)))=x1417 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1416)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1416)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1407)))), Succ(Succ(Succ(Succ(x1406)))), Succ(Succ(x1407)), Succ(Succ(x1406))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))) We simplified constraint (20) using rules (I), (II), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1411)))), Succ(Zero), Succ(Succ(x1411))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1416)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1416)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (27) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1403))), Succ(Succ(Zero)), Succ(x1403), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x951, x952) -> new_gcd0Gcd'0(x951, new_rem(x952, x951)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x951, x952) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982)))))), new_gcd0Gcd'1(False, x983, x984) -> new_gcd0Gcd'0(x983, new_rem(x984, x983)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))=new_gcd0Gcd'1(False, x983, x984) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))=x1431 & new_esEs(x1431)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1431)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (5) (new_primEqInt(x1432)=False & Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))=Pos(Succ(x1432)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (6) (new_primEqInt0(x1433)=False & Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))=Neg(Succ(x1433)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Succ(x982)=x1434 & Succ(Succ(Zero))=x1435 & new_primModNatS1(x1434, x1435)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1433)=False & Succ(x982)=x1436 & Succ(Succ(Zero))=x1437 & new_primModNatS1(x1436, x1437)=Succ(x1433) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1433)=False which results in the following new constraint: (9) (False=False & Succ(x982)=x1436 & Succ(Succ(Zero))=x1437 & new_primModNatS1(x1436, x1437)=Succ(x1438) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Succ(x982)=x1436 & Succ(Succ(Zero))=x1437 & new_primModNatS1(x1436, x1437)=Succ(x1438) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1436, x1437)=Succ(x1438) which results in the following new constraints: (11) (new_primModNatS1(new_primMinusNatS0(x1439), Zero)=Succ(x1438) & Succ(x982)=Succ(Succ(x1439)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (12) (Succ(Zero)=Succ(x1438) & Succ(x982)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1440) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (13) (new_primModNatS01(x1442, x1441, x1442, x1441)=Succ(x1438) & Succ(x982)=Succ(Succ(x1442)) & Succ(Succ(Zero))=Succ(x1441) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) (14) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1438) & Succ(x982)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x982), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x982))))))) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (x1442=x1444 & x1441=x1445 & new_primModNatS01(x1442, x1441, x1444, x1445)=Succ(x1438) & Succ(Zero)=x1441 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1442)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1442)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1442)))))))) We solved constraint (14) using rules (I), (II).We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1442, x1441, x1444, x1445)=Succ(x1438) which results in the following new constraints: (17) (new_primModNatS01(x1449, x1448, x1447, x1446)=Succ(x1438) & x1449=Succ(x1447) & x1448=Succ(x1446) & Succ(Zero)=x1448 & (\/x1450:new_primModNatS01(x1449, x1448, x1447, x1446)=Succ(x1450) & x1449=x1447 & x1448=x1446 & Succ(Zero)=x1448 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1449)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1449)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1449)))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1449)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1449)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1449)))))))) (18) (Succ(Succ(x1453))=Succ(x1438) & x1453=Zero & x1452=Succ(x1451) & Succ(Zero)=x1452 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1453)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1453)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1453)))))))) (19) (new_primModNatS02(x1455, x1454)=Succ(x1438) & x1455=Zero & x1454=Zero & Succ(Zero)=x1454 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1455)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1455)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1455)))))))) (20) (new_primModNatS02(x1458, x1457)=Succ(x1438) & x1458=Succ(x1456) & x1457=Zero & Succ(Zero)=x1457 ==> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1458)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x1458)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1458)))))))) We simplified constraint (17) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1447))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x1447))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1447))))))))) We simplified constraint (18) using rules (I), (II), (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We solved constraint (19) using rules (I), (II), (III).We solved constraint (20) using rules (I), (II), (III). For Pair new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014)))))), new_gcd0Gcd'1(False, x1015, x1016) -> new_gcd0Gcd'0(x1015, new_rem(x1016, x1015)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))=new_gcd0Gcd'1(False, x1015, x1016) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(x1014, Zero, x1014, Zero))=x1461 & new_esEs(x1461)=False ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x1461)=False which results in the following new constraints: (3) (new_primEqInt2=False & Neg(new_primModNatS01(x1014, Zero, x1014, Zero))=Neg(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) (4) (new_primEqInt1=False & Neg(new_primModNatS01(x1014, Zero, x1014, Zero))=Pos(Zero) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) (5) (new_primEqInt(x1462)=False & Neg(new_primModNatS01(x1014, Zero, x1014, Zero))=Pos(Succ(x1462)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) (6) (new_primEqInt0(x1463)=False & Neg(new_primModNatS01(x1014, Zero, x1014, Zero))=Neg(Succ(x1463)) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (new_primEqInt2=False & Zero=x1464 & x1014=x1465 & Zero=x1466 & new_primModNatS01(x1014, x1464, x1465, x1466)=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (new_primEqInt0(x1463)=False & Zero=x1467 & x1014=x1468 & Zero=x1469 & new_primModNatS01(x1014, x1467, x1468, x1469)=Succ(x1463) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt0(x1463)=False which results in the following new constraint: (9) (False=False & Zero=x1467 & x1014=x1468 & Zero=x1469 & new_primModNatS01(x1014, x1467, x1468, x1469)=Succ(x1470) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (Zero=x1467 & x1014=x1468 & Zero=x1469 & new_primModNatS01(x1014, x1467, x1468, x1469)=Succ(x1470) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1014, Zero, x1014, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1014))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1014, x1467, x1468, x1469)=Succ(x1470) which results in the following new constraints: (11) (new_primModNatS01(x1474, x1473, x1472, x1471)=Succ(x1470) & Zero=x1473 & x1474=Succ(x1472) & Zero=Succ(x1471) & (\/x1475:new_primModNatS01(x1474, x1473, x1472, x1471)=Succ(x1475) & Zero=x1473 & x1474=x1472 & Zero=x1471 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1474))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1474, Zero, x1474, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1474))))))) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1474))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1474, Zero, x1474, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1474))))))) (12) (Succ(Succ(x1478))=Succ(x1470) & Zero=x1477 & x1478=Zero & Zero=Succ(x1476) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1478))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1478, Zero, x1478, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1478))))))) (13) (new_primModNatS02(x1480, x1479)=Succ(x1470) & Zero=x1479 & x1480=Zero & Zero=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1480))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1480, Zero, x1480, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1480))))))) (14) (new_primModNatS02(x1483, x1482)=Succ(x1470) & Zero=x1482 & x1483=Succ(x1481) & Zero=Zero ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1483))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1483, Zero, x1483, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1483))))))) We solved constraint (11) using rules (I), (II).We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rules (I), (II), (III), (VII) which results in the following new constraint: (15) (Zero=x1484 & new_primModNatS02(x1484, x1479)=Succ(x1470) & Zero=x1479 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rules (I), (II), (III), (VII) which results in the following new constraint: (16) (Succ(x1481)=x1491 & new_primModNatS02(x1491, x1482)=Succ(x1470) & Zero=x1482 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1481), Zero, Succ(x1481), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))) We simplified constraint (15) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1484, x1479)=Succ(x1470) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x1486), Succ(x1485)), Succ(x1485))=Succ(x1470) & Zero=x1486 & Zero=x1485 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1491, x1482)=Succ(x1470) which results in the following new constraint: (19) (new_primModNatS1(new_primMinusNatS2(Succ(x1493), Succ(x1492)), Succ(x1492))=Succ(x1470) & Succ(x1481)=x1493 & Zero=x1492 ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1481), Zero, Succ(x1481), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))) We simplified constraint (19) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1481), Zero, Succ(x1481), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))) For Pair new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x1044, x1045) -> new_gcd0Gcd'0(x1044, new_rem(x1045, x1044)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x1044, x1045) ==> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x4))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x4))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x9))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x9))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x12))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x12))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x15))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x15))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x18)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x18)))), Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x21)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x21)))), Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x24)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x27)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Succ(Succ(x31))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x34))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x37))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x40))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x40))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x45))))), Pos(Succ(Succ(Succ(Succ(x46))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x49))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x49))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x52))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x52))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x55))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x55))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x67))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x67))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x70))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x76))))), Pos(Succ(Succ(Succ(Succ(x75))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Succ(x76))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x79))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x82))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x82))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x90))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x90))), Neg(Succ(Zero)))) *new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) *(new_gcd0Gcd'1(False, x120, x121)_>=_new_gcd0Gcd'0(x120, new_rem(x121, x120))) *new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x184))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x184))), Pos(Succ(Zero)))) *new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_gcd0Gcd'(Neg(Succ(Succ(x216))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(x216))), Pos(Succ(Zero)))) *new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_gcd0Gcd'(Pos(Succ(Succ(x248))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(x248))), Neg(Succ(Zero)))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x280)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x344)))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x376)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1072)))), Succ(Zero), Succ(Succ(x1072))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1072))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1059))), Zero, Succ(x1059)))), Neg(Succ(Succ(Succ(Succ(Succ(x1059)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(Succ(Succ(x1067)))), Succ(Succ(x1068)), Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1067))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1077)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1077)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1077))))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1064))), Succ(Succ(Zero)), Succ(x1064), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1064)))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x470))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1108))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x1108))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1108))))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1142), Zero, Succ(x1142), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1142)))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1185)))), Succ(Zero), Succ(Succ(x1185))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1185))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1172))), Zero, Succ(x1172)))), Pos(Succ(Succ(Succ(Succ(Succ(x1172)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1181)))), Succ(Succ(Succ(Succ(x1180)))), Succ(Succ(x1181)), Succ(Succ(x1180))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1180))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1181))))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1190)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1190)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1190))))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1177))), Succ(Succ(Zero)), Succ(x1177), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1177)))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1221))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x1221))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1221))))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1255), Zero, Succ(x1255), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1255)))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1298)))), Succ(Zero), Succ(Succ(x1298))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1298))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1285))), Zero, Succ(x1285)))), Neg(Succ(Succ(Succ(Succ(Succ(x1285)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1294)))), Succ(Succ(Succ(Succ(x1293)))), Succ(Succ(x1294)), Succ(Succ(x1293))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1293))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1294))))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1303)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1303)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1303))))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x1290))), Succ(Succ(Zero)), Succ(x1290), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x790))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1334))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x1334))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1334))))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x1368), Zero, Succ(x1368), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1368)))))))) *new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1411)))), Succ(Zero), Succ(Succ(x1411))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1411))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1398))), Zero, Succ(x1398)))), Pos(Succ(Succ(Succ(Succ(Succ(x1398)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1407)))), Succ(Succ(Succ(Succ(x1406)))), Succ(Succ(x1407)), Succ(Succ(x1406))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1406))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1407))))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x1416)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1416)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1416))))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x1403))), Succ(Succ(Zero)), Succ(x1403), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1403)))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x950))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1447))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x1447))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1447))))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x1481), Zero, Succ(x1481), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1481)))))))) *new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (433) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz542, vuz557) -> new_gcd0Gcd'(vuz557, vuz542) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, vuz542, vuz549) -> new_gcd0Gcd'0(vuz542, new_rem(vuz549, vuz542)) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS01(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS1(Succ(Succ(vuz549000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz549000), Zero) new_esEs(Neg(Zero)) -> new_primEqInt2 new_primModNatS1(Succ(Zero), Succ(vuz542000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_esEs(Pos(Zero)) -> new_primEqInt1 new_primModNatS01(vuz594, vuz595, Zero, Succ(vuz5970)) -> Succ(Succ(vuz594)) new_primMinusNatS0(vuz41600) -> Succ(vuz41600) new_primModNatS1(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS01(vuz549000, vuz542000, vuz549000, vuz542000) new_rem(Neg(vuz5490), Neg(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primModNatS1(Zero, vuz54200) -> Zero new_rem(Pos(vuz5490), Pos(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_error -> error([]) new_esEs(Pos(Succ(vuz55100))) -> new_primEqInt(vuz55100) new_primEqInt2 -> True new_rem(Neg(vuz5490), Neg(Zero)) -> new_error new_primModNatS01(vuz594, vuz595, Zero, Zero) -> new_primModNatS02(vuz594, vuz595) new_rem(Pos(vuz5490), Neg(Zero)) -> new_error new_rem(Neg(vuz5490), Pos(Zero)) -> new_error new_esEs(Neg(Succ(vuz55100))) -> new_primEqInt0(vuz55100) new_primModNatS01(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS02(vuz594, vuz595) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz594, vuz595) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_rem(Pos(vuz5490), Neg(Succ(vuz54200))) -> Pos(new_primModNatS1(vuz5490, vuz54200)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primEqInt1 -> True new_rem(Neg(vuz5490), Pos(Succ(vuz54200))) -> Neg(new_primModNatS1(vuz5490, vuz54200)) new_primEqInt0(vuz3260) -> False new_primEqInt(vuz3250) -> False new_rem(Pos(vuz5490), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Neg(x0), Neg(Zero)) new_primEqInt1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS1 new_rem(Neg(x0), Neg(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt0(x0) new_esEs(Pos(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primMinusNatS2(Zero, Succ(x0)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS1(Zero, x0) new_primEqInt(x0) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS0(x0) new_primEqInt2 new_esEs(Neg(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (434) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt6(Succ(vuz4010), Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt6(vuz4010, vuz4000, vuz4010, vuz4000, vuz3190, vuz31700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt6(Succ(vuz4010), Succ(vuz4000), vuz403, vuz402, vuz3190, vuz31700) -> new_primQuotInt6(vuz4010, vuz4000, vuz4010, vuz4000, vuz3190, vuz31700) we obtained the following new rules [LPAR04]: (new_primQuotInt6(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt6(x0, x1, x0, x1, z4, z5),new_primQuotInt6(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt6(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt6(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt6(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) 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_primQuotInt6(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt6(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (438) YES ---------------------------------------- (439) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz33500), Succ(vuz3071000)) -> new_primPlusNat(vuz33500, vuz3071000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (440) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Succ(vuz33500), Succ(vuz3071000)) -> new_primPlusNat(vuz33500, vuz3071000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (441) YES ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt1(Succ(vuz4570), Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt1(vuz4570, vuz4560, vuz4570, vuz4560, vuz3190, vuz31700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt1(Succ(vuz4570), Succ(vuz4560), vuz459, vuz458, vuz3190, vuz31700) -> new_primQuotInt1(vuz4570, vuz4560, vuz4570, vuz4560, vuz3190, vuz31700) we obtained the following new rules [LPAR04]: (new_primQuotInt1(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt1(x0, x1, x0, x1, z4, z5),new_primQuotInt1(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt1(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt1(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt1(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) 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_primQuotInt1(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt1(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (446) YES ---------------------------------------- (447) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz549000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz549000), Zero) new_primModNatS(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS0(vuz549000, vuz542000, vuz549000, vuz542000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS0(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS0(vuz594, vuz595, Zero, Zero) -> new_primModNatS00(vuz594, vuz595) new_primModNatS00(vuz594, vuz595) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (448) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (449) Complex Obligation (AND) ---------------------------------------- (450) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primModNatS(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS0(vuz549000, vuz542000, vuz549000, vuz542000) new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS0(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS0(vuz594, vuz595, Zero, Zero) -> new_primModNatS00(vuz594, vuz595) new_primModNatS00(vuz594, vuz595) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primModNatS(Succ(Succ(vuz549000)), Succ(vuz542000)) -> new_primModNatS0(vuz549000, vuz542000, vuz549000, vuz542000) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS(x_1, x_2)) = x_1 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero ---------------------------------------- (452) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS0(vuz594, vuz595, vuz5960, vuz5970) new_primModNatS0(vuz594, vuz595, Zero, Zero) -> new_primModNatS00(vuz594, vuz595) new_primModNatS00(vuz594, vuz595) -> new_primModNatS(new_primMinusNatS2(Succ(vuz594), Succ(vuz595)), Succ(vuz595)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (453) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (454) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS0(vuz594, vuz595, vuz5960, vuz5970) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (455) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vuz594, vuz595, Succ(vuz5960), Succ(vuz5970)) -> new_primModNatS0(vuz594, vuz595, vuz5960, vuz5970) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (456) YES ---------------------------------------- (457) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz549000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz549000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (458) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primModNatS(Succ(Succ(vuz549000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz549000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz5740), Zero) -> Succ(vuz5740) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz5740), Succ(vuz5750)) -> new_primMinusNatS2(vuz5740, vuz5750) new_primMinusNatS2(Zero, Succ(vuz5750)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 ---------------------------------------- (459) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz41600) -> Succ(vuz41600) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (460) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (461) YES ---------------------------------------- (462) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt4(Succ(vuz4190), Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt4(vuz4190, vuz4180, vuz4190, vuz4180, vuz31900, vuz3170) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (463) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt4(Succ(vuz4190), Succ(vuz4180), vuz421, vuz420, vuz31900, vuz3170) -> new_primQuotInt4(vuz4190, vuz4180, vuz4190, vuz4180, vuz31900, vuz3170) we obtained the following new rules [LPAR04]: (new_primQuotInt4(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt4(x0, x1, x0, x1, z4, z5),new_primQuotInt4(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt4(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (464) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt4(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt4(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (465) 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_primQuotInt4(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt4(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (466) YES ---------------------------------------- (467) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt3(Succ(vuz4650), Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt3(vuz4650, vuz4640, vuz4650, vuz4640, vuz3190, vuz31700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (468) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt3(Succ(vuz4650), Succ(vuz4640), vuz467, vuz466, vuz3190, vuz31700) -> new_primQuotInt3(vuz4650, vuz4640, vuz4650, vuz4640, vuz3190, vuz31700) we obtained the following new rules [LPAR04]: (new_primQuotInt3(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt3(x0, x1, x0, x1, z4, z5),new_primQuotInt3(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt3(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (469) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt3(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt3(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (470) 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_primQuotInt3(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt3(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (471) YES ---------------------------------------- (472) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt2(Succ(vuz4310), Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt2(vuz4310, vuz4300, vuz4310, vuz4300, vuz31900, vuz3170) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (473) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt2(Succ(vuz4310), Succ(vuz4300), vuz433, vuz432, vuz31900, vuz3170) -> new_primQuotInt2(vuz4310, vuz4300, vuz4310, vuz4300, vuz31900, vuz3170) we obtained the following new rules [LPAR04]: (new_primQuotInt2(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt2(x0, x1, x0, x1, z4, z5),new_primQuotInt2(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt2(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (474) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt2(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt2(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (475) 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_primQuotInt2(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt2(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (476) YES ---------------------------------------- (477) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt5(Succ(vuz4490), Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt5(vuz4490, vuz4480, vuz4490, vuz4480, vuz31900, vuz3170) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_primQuotInt5(Succ(vuz4490), Succ(vuz4480), vuz451, vuz450, vuz31900, vuz3170) -> new_primQuotInt5(vuz4490, vuz4480, vuz4490, vuz4480, vuz31900, vuz3170) we obtained the following new rules [LPAR04]: (new_primQuotInt5(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt5(x0, x1, x0, x1, z4, z5),new_primQuotInt5(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt5(x0, x1, x0, x1, z4, z5)) ---------------------------------------- (479) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt5(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt5(x0, x1, x0, x1, z4, z5) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (480) 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_primQuotInt5(Succ(x0), Succ(x1), Succ(x0), Succ(x1), z4, z5) -> new_primQuotInt5(x0, x1, x0, x1, z4, z5) The graph contains the following edges 1 > 1, 3 > 1, 2 > 2, 4 > 2, 1 > 3, 3 > 3, 2 > 4, 4 > 4, 5 >= 5, 6 >= 6 ---------------------------------------- (481) YES ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt(vuz374, Succ(vuz4890), Succ(vuz3770), vuz375) -> new_primQuotInt(vuz374, vuz4890, vuz3770, vuz375) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) 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_primQuotInt(vuz374, Succ(vuz4890), Succ(vuz3770), vuz375) -> new_primQuotInt(vuz374, vuz4890, vuz3770, vuz375) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (484) YES ---------------------------------------- (485) Obligation: Q DP problem: The TRS P consists of the following rules: new_primQuotInt0(vuz366, Succ(vuz3690), Succ(vuz4830), vuz367) -> new_primQuotInt0(vuz366, vuz3690, vuz4830, vuz367) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (486) 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_primQuotInt0(vuz366, Succ(vuz3690), Succ(vuz4830), vuz367) -> new_primQuotInt0(vuz366, vuz3690, vuz4830, vuz367) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (487) YES ---------------------------------------- (488) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="enumFromThen",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="enumFromThen vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="enumFromThen vuz3 vuz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="numericEnumFromThen vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="iterate (vuz4 - vuz3 +) vuz3",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="vuz3 : iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz3)",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 8 -> 13[label="",style="dashed", color="red", weight=0]; 8[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz3)",fontsize=16,color="magenta"];8 -> 14[label="",style="dashed", color="magenta", weight=3]; 14[label="vuz3",fontsize=16,color="green",shape="box"];13[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + vuz5)",fontsize=16,color="black",shape="triangle"];13 -> 16[label="",style="solid", color="black", weight=3]; 16[label="vuz4 - vuz3 + vuz5 : iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + (vuz4 - vuz3 + vuz5))",fontsize=16,color="green",shape="box"];16 -> 17[label="",style="dashed", color="green", weight=3]; 16 -> 18[label="",style="dashed", color="green", weight=3]; 17[label="vuz4 - vuz3 + vuz5",fontsize=16,color="black",shape="box"];17 -> 5645[label="",style="solid", color="black", weight=3]; 18 -> 13[label="",style="dashed", color="red", weight=0]; 18[label="iterate (vuz4 - vuz3 +) (vuz4 - vuz3 + (vuz4 - vuz3 + vuz5))",fontsize=16,color="magenta"];18 -> 20[label="",style="dashed", color="magenta", weight=3]; 5645 -> 5329[label="",style="dashed", color="red", weight=0]; 5645[label="vuz4 + (negate vuz3) + vuz5",fontsize=16,color="magenta"];5645 -> 6517[label="",style="dashed", color="magenta", weight=3]; 5645 -> 6518[label="",style="dashed", color="magenta", weight=3]; 20[label="vuz4 - vuz3 + vuz5",fontsize=16,color="black",shape="box"];20 -> 5425[label="",style="solid", color="black", weight=3]; 6517[label="vuz5",fontsize=16,color="green",shape="box"];6518 -> 5329[label="",style="dashed", color="red", weight=0]; 6518[label="vuz4 + (negate vuz3)",fontsize=16,color="magenta"];6518 -> 7106[label="",style="dashed", color="magenta", weight=3]; 6518 -> 7107[label="",style="dashed", color="magenta", weight=3]; 5329[label="vuz306 + vuz307",fontsize=16,color="burlywood",shape="triangle"];10820[label="vuz306/vuz3060 :% vuz3061",fontsize=10,color="white",style="solid",shape="box"];5329 -> 10820[label="",style="solid", color="burlywood", weight=9]; 10820 -> 5964[label="",style="solid", color="burlywood", weight=3]; 5425 -> 5329[label="",style="dashed", color="red", weight=0]; 5425[label="vuz4 + (negate vuz3) + vuz5",fontsize=16,color="magenta"];5425 -> 6125[label="",style="dashed", color="magenta", weight=3]; 5425 -> 6126[label="",style="dashed", color="magenta", weight=3]; 7106[label="negate vuz3",fontsize=16,color="burlywood",shape="triangle"];10821[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];7106 -> 10821[label="",style="solid", color="burlywood", weight=9]; 10821 -> 7111[label="",style="solid", color="burlywood", weight=3]; 7107[label="vuz4",fontsize=16,color="green",shape="box"];5964[label="vuz3060 :% vuz3061 + vuz307",fontsize=16,color="burlywood",shape="box"];10822[label="vuz307/vuz3070 :% vuz3071",fontsize=10,color="white",style="solid",shape="box"];5964 -> 10822[label="",style="solid", color="burlywood", weight=9]; 10822 -> 7081[label="",style="solid", color="burlywood", weight=3]; 6125[label="vuz5",fontsize=16,color="green",shape="box"];6126 -> 5329[label="",style="dashed", color="red", weight=0]; 6126[label="vuz4 + (negate vuz3)",fontsize=16,color="magenta"];6126 -> 7108[label="",style="dashed", color="magenta", weight=3]; 6126 -> 7109[label="",style="dashed", color="magenta", weight=3]; 7111[label="negate vuz30 :% vuz31",fontsize=16,color="black",shape="box"];7111 -> 7113[label="",style="solid", color="black", weight=3]; 7081[label="vuz3060 :% vuz3061 + vuz3070 :% vuz3071",fontsize=16,color="black",shape="box"];7081 -> 7110[label="",style="solid", color="black", weight=3]; 7108 -> 7106[label="",style="dashed", color="red", weight=0]; 7108[label="negate vuz3",fontsize=16,color="magenta"];7109[label="vuz4",fontsize=16,color="green",shape="box"];7113[label="(negate vuz30) :% vuz31",fontsize=16,color="green",shape="box"];7113 -> 7115[label="",style="dashed", color="green", weight=3]; 7110[label="reduce (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071)",fontsize=16,color="black",shape="box"];7110 -> 7112[label="",style="solid", color="black", weight=3]; 7115[label="negate vuz30",fontsize=16,color="black",shape="triangle"];7115 -> 7122[label="",style="solid", color="black", weight=3]; 7112[label="reduce2 (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071)",fontsize=16,color="black",shape="box"];7112 -> 7114[label="",style="solid", color="black", weight=3]; 7122[label="primNegInt vuz30",fontsize=16,color="burlywood",shape="box"];10823[label="vuz30/Pos vuz300",fontsize=10,color="white",style="solid",shape="box"];7122 -> 10823[label="",style="solid", color="burlywood", weight=9]; 10823 -> 7127[label="",style="solid", color="burlywood", weight=3]; 10824[label="vuz30/Neg vuz300",fontsize=10,color="white",style="solid",shape="box"];7122 -> 10824[label="",style="solid", color="burlywood", weight=9]; 10824 -> 7128[label="",style="solid", color="burlywood", weight=3]; 7114 -> 7116[label="",style="dashed", color="red", weight=0]; 7114[label="reduce2Reduce1 (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071) (vuz3060 * vuz3071 + vuz3070 * vuz3061) (vuz3061 * vuz3071) (vuz3061 * vuz3071 == fromInt (Pos Zero))",fontsize=16,color="magenta"];7114 -> 7117[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7118[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7119[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7120[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7121[label="",style="dashed", color="magenta", weight=3]; 7127[label="primNegInt (Pos vuz300)",fontsize=16,color="black",shape="box"];7127 -> 7133[label="",style="solid", color="black", weight=3]; 7128[label="primNegInt (Neg vuz300)",fontsize=16,color="black",shape="box"];7128 -> 7134[label="",style="solid", color="black", weight=3]; 7117[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];10825[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];7117 -> 10825[label="",style="solid", color="blue", weight=9]; 10825 -> 7123[label="",style="solid", color="blue", weight=3]; 10826[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];7117 -> 10826[label="",style="solid", color="blue", weight=9]; 10826 -> 7124[label="",style="solid", color="blue", weight=3]; 7118[label="vuz3060",fontsize=16,color="green",shape="box"];7119[label="vuz3071",fontsize=16,color="green",shape="box"];7120[label="vuz3061",fontsize=16,color="green",shape="box"];7121[label="vuz3070",fontsize=16,color="green",shape="box"];7116[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) vuz320",fontsize=16,color="burlywood",shape="triangle"];10827[label="vuz320/False",fontsize=10,color="white",style="solid",shape="box"];7116 -> 10827[label="",style="solid", color="burlywood", weight=9]; 10827 -> 7125[label="",style="solid", color="burlywood", weight=3]; 10828[label="vuz320/True",fontsize=10,color="white",style="solid",shape="box"];7116 -> 10828[label="",style="solid", color="burlywood", weight=9]; 10828 -> 7126[label="",style="solid", color="burlywood", weight=3]; 7133[label="Neg vuz300",fontsize=16,color="green",shape="box"];7134[label="Pos vuz300",fontsize=16,color="green",shape="box"];7123 -> 9987[label="",style="dashed", color="red", weight=0]; 7123[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7123 -> 9988[label="",style="dashed", color="magenta", weight=3]; 7124[label="vuz3061 * vuz3071 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];7124 -> 7130[label="",style="solid", color="black", weight=3]; 7125[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) False",fontsize=16,color="black",shape="box"];7125 -> 7131[label="",style="solid", color="black", weight=3]; 7126[label="reduce2Reduce1 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) True",fontsize=16,color="black",shape="box"];7126 -> 7132[label="",style="solid", color="black", weight=3]; 9988[label="vuz3061 * vuz3071",fontsize=16,color="black",shape="triangle"];9988 -> 10015[label="",style="solid", color="black", weight=3]; 9987[label="vuz551 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];9987 -> 10016[label="",style="solid", color="black", weight=3]; 7130[label="error []",fontsize=16,color="red",shape="box"];7131[label="reduce2Reduce0 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) otherwise",fontsize=16,color="black",shape="box"];7131 -> 7136[label="",style="solid", color="black", weight=3]; 7132[label="error []",fontsize=16,color="black",shape="box"];7132 -> 7137[label="",style="solid", color="black", weight=3]; 10015[label="primMulInt vuz3061 vuz3071",fontsize=16,color="burlywood",shape="box"];10829[label="vuz3061/Pos vuz30610",fontsize=10,color="white",style="solid",shape="box"];10015 -> 10829[label="",style="solid", color="burlywood", weight=9]; 10829 -> 10168[label="",style="solid", color="burlywood", weight=3]; 10830[label="vuz3061/Neg vuz30610",fontsize=10,color="white",style="solid",shape="box"];10015 -> 10830[label="",style="solid", color="burlywood", weight=9]; 10830 -> 10169[label="",style="solid", color="burlywood", weight=3]; 10016[label="primEqInt vuz551 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10831[label="vuz551/Pos vuz5510",fontsize=10,color="white",style="solid",shape="box"];10016 -> 10831[label="",style="solid", color="burlywood", weight=9]; 10831 -> 10170[label="",style="solid", color="burlywood", weight=3]; 10832[label="vuz551/Neg vuz5510",fontsize=10,color="white",style="solid",shape="box"];10016 -> 10832[label="",style="solid", color="burlywood", weight=9]; 10832 -> 10171[label="",style="solid", color="burlywood", weight=3]; 7136[label="reduce2Reduce0 (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) True",fontsize=16,color="black",shape="box"];7136 -> 7140[label="",style="solid", color="black", weight=3]; 7137[label="error []",fontsize=16,color="red",shape="box"];10168[label="primMulInt (Pos vuz30610) vuz3071",fontsize=16,color="burlywood",shape="box"];10833[label="vuz3071/Pos vuz30710",fontsize=10,color="white",style="solid",shape="box"];10168 -> 10833[label="",style="solid", color="burlywood", weight=9]; 10833 -> 10194[label="",style="solid", color="burlywood", weight=3]; 10834[label="vuz3071/Neg vuz30710",fontsize=10,color="white",style="solid",shape="box"];10168 -> 10834[label="",style="solid", color="burlywood", weight=9]; 10834 -> 10195[label="",style="solid", color="burlywood", weight=3]; 10169[label="primMulInt (Neg vuz30610) vuz3071",fontsize=16,color="burlywood",shape="box"];10835[label="vuz3071/Pos vuz30710",fontsize=10,color="white",style="solid",shape="box"];10169 -> 10835[label="",style="solid", color="burlywood", weight=9]; 10835 -> 10196[label="",style="solid", color="burlywood", weight=3]; 10836[label="vuz3071/Neg vuz30710",fontsize=10,color="white",style="solid",shape="box"];10169 -> 10836[label="",style="solid", color="burlywood", weight=9]; 10836 -> 10197[label="",style="solid", color="burlywood", weight=3]; 10170[label="primEqInt (Pos vuz5510) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10837[label="vuz5510/Succ vuz55100",fontsize=10,color="white",style="solid",shape="box"];10170 -> 10837[label="",style="solid", color="burlywood", weight=9]; 10837 -> 10198[label="",style="solid", color="burlywood", weight=3]; 10838[label="vuz5510/Zero",fontsize=10,color="white",style="solid",shape="box"];10170 -> 10838[label="",style="solid", color="burlywood", weight=9]; 10838 -> 10199[label="",style="solid", color="burlywood", weight=3]; 10171[label="primEqInt (Neg vuz5510) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];10839[label="vuz5510/Succ vuz55100",fontsize=10,color="white",style="solid",shape="box"];10171 -> 10839[label="",style="solid", color="burlywood", weight=9]; 10839 -> 10200[label="",style="solid", color="burlywood", weight=3]; 10840[label="vuz5510/Zero",fontsize=10,color="white",style="solid",shape="box"];10171 -> 10840[label="",style="solid", color="burlywood", weight=9]; 10840 -> 10201[label="",style="solid", color="burlywood", weight=3]; 7140[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317) :% (vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="green",shape="box"];7140 -> 7145[label="",style="dashed", color="green", weight=3]; 7140 -> 7146[label="",style="dashed", color="green", weight=3]; 10194[label="primMulInt (Pos vuz30610) (Pos vuz30710)",fontsize=16,color="black",shape="box"];10194 -> 10238[label="",style="solid", color="black", weight=3]; 10195[label="primMulInt (Pos vuz30610) (Neg vuz30710)",fontsize=16,color="black",shape="box"];10195 -> 10239[label="",style="solid", color="black", weight=3]; 10196[label="primMulInt (Neg vuz30610) (Pos vuz30710)",fontsize=16,color="black",shape="box"];10196 -> 10240[label="",style="solid", color="black", weight=3]; 10197[label="primMulInt (Neg vuz30610) (Neg vuz30710)",fontsize=16,color="black",shape="box"];10197 -> 10241[label="",style="solid", color="black", weight=3]; 10198[label="primEqInt (Pos (Succ vuz55100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10198 -> 10242[label="",style="solid", color="black", weight=3]; 10199[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10199 -> 10243[label="",style="solid", color="black", weight=3]; 10200[label="primEqInt (Neg (Succ vuz55100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10200 -> 10244[label="",style="solid", color="black", weight=3]; 10201[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];10201 -> 10245[label="",style="solid", color="black", weight=3]; 7145[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="blue",shape="box"];10841[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7145 -> 10841[label="",style="solid", color="blue", weight=9]; 10841 -> 7151[label="",style="solid", color="blue", weight=3]; 10842[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7145 -> 10842[label="",style="solid", color="blue", weight=9]; 10842 -> 7152[label="",style="solid", color="blue", weight=3]; 7146[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="blue",shape="box"];10843[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];7146 -> 10843[label="",style="solid", color="blue", weight=9]; 10843 -> 7153[label="",style="solid", color="blue", weight=3]; 10844[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7146 -> 10844[label="",style="solid", color="blue", weight=9]; 10844 -> 7154[label="",style="solid", color="blue", weight=3]; 10238[label="Pos (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10238 -> 10260[label="",style="dashed", color="green", weight=3]; 10239[label="Neg (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10239 -> 10261[label="",style="dashed", color="green", weight=3]; 10240[label="Neg (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10240 -> 10262[label="",style="dashed", color="green", weight=3]; 10241[label="Pos (primMulNat vuz30610 vuz30710)",fontsize=16,color="green",shape="box"];10241 -> 10263[label="",style="dashed", color="green", weight=3]; 10242 -> 7519[label="",style="dashed", color="red", weight=0]; 10242[label="primEqInt (Pos (Succ vuz55100)) (Pos Zero)",fontsize=16,color="magenta"];10242 -> 10264[label="",style="dashed", color="magenta", weight=3]; 10243 -> 7520[label="",style="dashed", color="red", weight=0]; 10243[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];10244 -> 7526[label="",style="dashed", color="red", weight=0]; 10244[label="primEqInt (Neg (Succ vuz55100)) (Pos Zero)",fontsize=16,color="magenta"];10244 -> 10265[label="",style="dashed", color="magenta", weight=3]; 10245 -> 7527[label="",style="dashed", color="red", weight=0]; 10245[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];7151[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7151 -> 7163[label="",style="solid", color="black", weight=3]; 7152[label="(vuz316 * vuz317 + vuz318 * vuz319) `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7152 -> 7164[label="",style="solid", color="black", weight=3]; 7153[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7153 -> 7165[label="",style="solid", color="black", weight=3]; 7154[label="vuz319 * vuz317 `quot` reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317)",fontsize=16,color="black",shape="box"];7154 -> 7166[label="",style="solid", color="black", weight=3]; 10260 -> 7480[label="",style="dashed", color="red", weight=0]; 10260[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10261 -> 7480[label="",style="dashed", color="red", weight=0]; 10261[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10261 -> 10279[label="",style="dashed", color="magenta", weight=3]; 10262 -> 7480[label="",style="dashed", color="red", weight=0]; 10262[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10262 -> 10280[label="",style="dashed", color="magenta", weight=3]; 10263 -> 7480[label="",style="dashed", color="red", weight=0]; 10263[label="primMulNat vuz30610 vuz30710",fontsize=16,color="magenta"];10263 -> 10281[label="",style="dashed", color="magenta", weight=3]; 10263 -> 10282[label="",style="dashed", color="magenta", weight=3]; 10264[label="vuz55100",fontsize=16,color="green",shape="box"];7519[label="primEqInt (Pos (Succ vuz3250)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7519 -> 7532[label="",style="solid", color="black", weight=3]; 7520[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7520 -> 7533[label="",style="solid", color="black", weight=3]; 10265[label="vuz55100",fontsize=16,color="green",shape="box"];7526[label="primEqInt (Neg (Succ vuz3260)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7526 -> 7547[label="",style="solid", color="black", weight=3]; 7527[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="triangle"];7527 -> 7548[label="",style="solid", color="black", weight=3]; 7163[label="error []",fontsize=16,color="red",shape="box"];7164[label="primQuotInt (vuz316 * vuz317 + vuz318 * vuz319) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7164 -> 7175[label="",style="solid", color="black", weight=3]; 7165[label="error []",fontsize=16,color="red",shape="box"];7166[label="primQuotInt (vuz319 * vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7166 -> 7176[label="",style="solid", color="black", weight=3]; 7480[label="primMulNat vuz30610 vuz30710",fontsize=16,color="burlywood",shape="triangle"];10845[label="vuz30610/Succ vuz306100",fontsize=10,color="white",style="solid",shape="box"];7480 -> 10845[label="",style="solid", color="burlywood", weight=9]; 10845 -> 7492[label="",style="solid", color="burlywood", weight=3]; 10846[label="vuz30610/Zero",fontsize=10,color="white",style="solid",shape="box"];7480 -> 10846[label="",style="solid", color="burlywood", weight=9]; 10846 -> 7493[label="",style="solid", color="burlywood", weight=3]; 10279[label="vuz30710",fontsize=16,color="green",shape="box"];10280[label="vuz30610",fontsize=16,color="green",shape="box"];10281[label="vuz30610",fontsize=16,color="green",shape="box"];10282[label="vuz30710",fontsize=16,color="green",shape="box"];7532[label="False",fontsize=16,color="green",shape="box"];7533[label="True",fontsize=16,color="green",shape="box"];7547[label="False",fontsize=16,color="green",shape="box"];7548[label="True",fontsize=16,color="green",shape="box"];7175[label="primQuotInt (primPlusInt (vuz316 * vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (vuz316 * vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="black",shape="box"];7175 -> 7185[label="",style="solid", color="black", weight=3]; 7176[label="primQuotInt (primMulInt vuz319 vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * vuz319) (primMulInt vuz319 vuz317))",fontsize=16,color="burlywood",shape="box"];10847[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7176 -> 10847[label="",style="solid", color="burlywood", weight=9]; 10847 -> 7186[label="",style="solid", color="burlywood", weight=3]; 10848[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7176 -> 10848[label="",style="solid", color="burlywood", weight=9]; 10848 -> 7187[label="",style="solid", color="burlywood", weight=3]; 7492[label="primMulNat (Succ vuz306100) vuz30710",fontsize=16,color="burlywood",shape="box"];10849[label="vuz30710/Succ vuz307100",fontsize=10,color="white",style="solid",shape="box"];7492 -> 10849[label="",style="solid", color="burlywood", weight=9]; 10849 -> 7515[label="",style="solid", color="burlywood", weight=3]; 10850[label="vuz30710/Zero",fontsize=10,color="white",style="solid",shape="box"];7492 -> 10850[label="",style="solid", color="burlywood", weight=9]; 10850 -> 7516[label="",style="solid", color="burlywood", weight=3]; 7493[label="primMulNat Zero vuz30710",fontsize=16,color="burlywood",shape="box"];10851[label="vuz30710/Succ vuz307100",fontsize=10,color="white",style="solid",shape="box"];7493 -> 10851[label="",style="solid", color="burlywood", weight=9]; 10851 -> 7517[label="",style="solid", color="burlywood", weight=3]; 10852[label="vuz30710/Zero",fontsize=10,color="white",style="solid",shape="box"];7493 -> 10852[label="",style="solid", color="burlywood", weight=9]; 10852 -> 7518[label="",style="solid", color="burlywood", weight=3]; 7185[label="primQuotInt (primPlusInt (primMulInt vuz316 vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt vuz316 vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10853[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7185 -> 10853[label="",style="solid", color="burlywood", weight=9]; 10853 -> 7194[label="",style="solid", color="burlywood", weight=3]; 10854[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7185 -> 10854[label="",style="solid", color="burlywood", weight=9]; 10854 -> 7195[label="",style="solid", color="burlywood", weight=3]; 7186[label="primQuotInt (primMulInt (Pos vuz3190) vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) vuz317))",fontsize=16,color="burlywood",shape="box"];10855[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7186 -> 10855[label="",style="solid", color="burlywood", weight=9]; 10855 -> 7196[label="",style="solid", color="burlywood", weight=3]; 10856[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7186 -> 10856[label="",style="solid", color="burlywood", weight=9]; 10856 -> 7197[label="",style="solid", color="burlywood", weight=3]; 7187[label="primQuotInt (primMulInt (Neg vuz3190) vuz317) (reduce2D (vuz316 * vuz317 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) vuz317))",fontsize=16,color="burlywood",shape="box"];10857[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7187 -> 10857[label="",style="solid", color="burlywood", weight=9]; 10857 -> 7198[label="",style="solid", color="burlywood", weight=3]; 10858[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7187 -> 10858[label="",style="solid", color="burlywood", weight=9]; 10858 -> 7199[label="",style="solid", color="burlywood", weight=3]; 7515[label="primMulNat (Succ vuz306100) (Succ vuz307100)",fontsize=16,color="black",shape="box"];7515 -> 7528[label="",style="solid", color="black", weight=3]; 7516[label="primMulNat (Succ vuz306100) Zero",fontsize=16,color="black",shape="box"];7516 -> 7529[label="",style="solid", color="black", weight=3]; 7517[label="primMulNat Zero (Succ vuz307100)",fontsize=16,color="black",shape="box"];7517 -> 7530[label="",style="solid", color="black", weight=3]; 7518[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];7518 -> 7531[label="",style="solid", color="black", weight=3]; 7194[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10859[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7194 -> 10859[label="",style="solid", color="burlywood", weight=9]; 10859 -> 7206[label="",style="solid", color="burlywood", weight=3]; 10860[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7194 -> 10860[label="",style="solid", color="burlywood", weight=9]; 10860 -> 7207[label="",style="solid", color="burlywood", weight=3]; 7195[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) vuz317) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) vuz317) (vuz318 * vuz319)) (vuz319 * vuz317))",fontsize=16,color="burlywood",shape="box"];10861[label="vuz317/Pos vuz3170",fontsize=10,color="white",style="solid",shape="box"];7195 -> 10861[label="",style="solid", color="burlywood", weight=9]; 10861 -> 7208[label="",style="solid", color="burlywood", weight=3]; 10862[label="vuz317/Neg vuz3170",fontsize=10,color="white",style="solid",shape="box"];7195 -> 10862[label="",style="solid", color="burlywood", weight=9]; 10862 -> 7209[label="",style="solid", color="burlywood", weight=3]; 7196[label="primQuotInt (primMulInt (Pos vuz3190) (Pos vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) (Pos vuz3170)))",fontsize=16,color="black",shape="box"];7196 -> 7210[label="",style="solid", color="black", weight=3]; 7197[label="primQuotInt (primMulInt (Pos vuz3190) (Neg vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (primMulInt (Pos vuz3190) (Neg vuz3170)))",fontsize=16,color="black",shape="box"];7197 -> 7211[label="",style="solid", color="black", weight=3]; 7198[label="primQuotInt (primMulInt (Neg vuz3190) (Pos vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) (Pos vuz3170)))",fontsize=16,color="black",shape="box"];7198 -> 7212[label="",style="solid", color="black", weight=3]; 7199[label="primQuotInt (primMulInt (Neg vuz3190) (Neg vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (primMulInt (Neg vuz3190) (Neg vuz3170)))",fontsize=16,color="black",shape="box"];7199 -> 7213[label="",style="solid", color="black", weight=3]; 7528 -> 7549[label="",style="dashed", color="red", weight=0]; 7528[label="primPlusNat (primMulNat vuz306100 (Succ vuz307100)) (Succ vuz307100)",fontsize=16,color="magenta"];7528 -> 7550[label="",style="dashed", color="magenta", weight=3]; 7529[label="Zero",fontsize=16,color="green",shape="box"];7530[label="Zero",fontsize=16,color="green",shape="box"];7531[label="Zero",fontsize=16,color="green",shape="box"];7206[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7206 -> 7220[label="",style="solid", color="black", weight=3]; 7207[label="primQuotInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7207 -> 7221[label="",style="solid", color="black", weight=3]; 7208[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7208 -> 7222[label="",style="solid", color="black", weight=3]; 7209[label="primQuotInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7209 -> 7223[label="",style="solid", color="black", weight=3]; 7210[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7210 -> 7224[label="",style="solid", color="black", weight=3]; 7211[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7211 -> 7225[label="",style="solid", color="black", weight=3]; 7212[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7212 -> 7226[label="",style="solid", color="black", weight=3]; 7213[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (reduce2D (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7213 -> 7227[label="",style="solid", color="black", weight=3]; 7550 -> 7480[label="",style="dashed", color="red", weight=0]; 7550[label="primMulNat vuz306100 (Succ vuz307100)",fontsize=16,color="magenta"];7550 -> 7551[label="",style="dashed", color="magenta", weight=3]; 7550 -> 7552[label="",style="dashed", color="magenta", weight=3]; 7549[label="primPlusNat vuz335 (Succ vuz307100)",fontsize=16,color="burlywood",shape="triangle"];10863[label="vuz335/Succ vuz3350",fontsize=10,color="white",style="solid",shape="box"];7549 -> 10863[label="",style="solid", color="burlywood", weight=9]; 10863 -> 7553[label="",style="solid", color="burlywood", weight=3]; 10864[label="vuz335/Zero",fontsize=10,color="white",style="solid",shape="box"];7549 -> 10864[label="",style="solid", color="burlywood", weight=9]; 10864 -> 7554[label="",style="solid", color="burlywood", weight=3]; 7220[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7220 -> 7234[label="",style="solid", color="black", weight=3]; 7221[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7221 -> 7235[label="",style="solid", color="black", weight=3]; 7222[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7222 -> 7236[label="",style="solid", color="black", weight=3]; 7223[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7223 -> 7237[label="",style="solid", color="black", weight=3]; 7224[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7224 -> 7238[label="",style="solid", color="black", weight=3]; 7225[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7225 -> 7239[label="",style="solid", color="black", weight=3]; 7226[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7226 -> 7240[label="",style="solid", color="black", weight=3]; 7227[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7227 -> 7241[label="",style="solid", color="black", weight=3]; 7551[label="vuz306100",fontsize=16,color="green",shape="box"];7552[label="Succ vuz307100",fontsize=16,color="green",shape="box"];7553[label="primPlusNat (Succ vuz3350) (Succ vuz307100)",fontsize=16,color="black",shape="box"];7553 -> 7564[label="",style="solid", color="black", weight=3]; 7554[label="primPlusNat Zero (Succ vuz307100)",fontsize=16,color="black",shape="box"];7554 -> 7565[label="",style="solid", color="black", weight=3]; 7234[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10865[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7234 -> 10865[label="",style="solid", color="burlywood", weight=9]; 10865 -> 7250[label="",style="solid", color="burlywood", weight=3]; 10866[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7234 -> 10866[label="",style="solid", color="burlywood", weight=9]; 10866 -> 7251[label="",style="solid", color="burlywood", weight=3]; 7235[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10867[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7235 -> 10867[label="",style="solid", color="burlywood", weight=9]; 10867 -> 7252[label="",style="solid", color="burlywood", weight=3]; 10868[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7235 -> 10868[label="",style="solid", color="burlywood", weight=9]; 10868 -> 7253[label="",style="solid", color="burlywood", weight=3]; 7236[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10869[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7236 -> 10869[label="",style="solid", color="burlywood", weight=9]; 10869 -> 7254[label="",style="solid", color="burlywood", weight=3]; 10870[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7236 -> 10870[label="",style="solid", color="burlywood", weight=9]; 10870 -> 7255[label="",style="solid", color="burlywood", weight=3]; 7237[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt vuz318 vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10871[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7237 -> 10871[label="",style="solid", color="burlywood", weight=9]; 10871 -> 7256[label="",style="solid", color="burlywood", weight=3]; 10872[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7237 -> 10872[label="",style="solid", color="burlywood", weight=9]; 10872 -> 7257[label="",style="solid", color="burlywood", weight=3]; 7238[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7238 -> 7258[label="",style="solid", color="black", weight=3]; 7239[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7239 -> 7259[label="",style="solid", color="black", weight=3]; 7240[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7240 -> 7260[label="",style="solid", color="black", weight=3]; 7241[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd3 (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7241 -> 7261[label="",style="solid", color="black", weight=3]; 7564[label="Succ (Succ (primPlusNat vuz3350 vuz307100))",fontsize=16,color="green",shape="box"];7564 -> 7571[label="",style="dashed", color="green", weight=3]; 7565[label="Succ vuz307100",fontsize=16,color="green",shape="box"];7250[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10873[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7250 -> 10873[label="",style="solid", color="burlywood", weight=9]; 10873 -> 7268[label="",style="solid", color="burlywood", weight=3]; 10874[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7250 -> 10874[label="",style="solid", color="burlywood", weight=9]; 10874 -> 7269[label="",style="solid", color="burlywood", weight=3]; 7251[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10875[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7251 -> 10875[label="",style="solid", color="burlywood", weight=9]; 10875 -> 7270[label="",style="solid", color="burlywood", weight=3]; 10876[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7251 -> 10876[label="",style="solid", color="burlywood", weight=9]; 10876 -> 7271[label="",style="solid", color="burlywood", weight=3]; 7252[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10877[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7252 -> 10877[label="",style="solid", color="burlywood", weight=9]; 10877 -> 7272[label="",style="solid", color="burlywood", weight=3]; 10878[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7252 -> 10878[label="",style="solid", color="burlywood", weight=9]; 10878 -> 7273[label="",style="solid", color="burlywood", weight=3]; 7253[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10879[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7253 -> 10879[label="",style="solid", color="burlywood", weight=9]; 10879 -> 7274[label="",style="solid", color="burlywood", weight=3]; 10880[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7253 -> 10880[label="",style="solid", color="burlywood", weight=9]; 10880 -> 7275[label="",style="solid", color="burlywood", weight=3]; 7254[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10881[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7254 -> 10881[label="",style="solid", color="burlywood", weight=9]; 10881 -> 7276[label="",style="solid", color="burlywood", weight=3]; 10882[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7254 -> 10882[label="",style="solid", color="burlywood", weight=9]; 10882 -> 7277[label="",style="solid", color="burlywood", weight=3]; 7255[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10883[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7255 -> 10883[label="",style="solid", color="burlywood", weight=9]; 10883 -> 7278[label="",style="solid", color="burlywood", weight=3]; 10884[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7255 -> 10884[label="",style="solid", color="burlywood", weight=9]; 10884 -> 7279[label="",style="solid", color="burlywood", weight=3]; 7256[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10885[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7256 -> 10885[label="",style="solid", color="burlywood", weight=9]; 10885 -> 7280[label="",style="solid", color="burlywood", weight=3]; 10886[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7256 -> 10886[label="",style="solid", color="burlywood", weight=9]; 10886 -> 7281[label="",style="solid", color="burlywood", weight=3]; 7257[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) vuz319)) (vuz319 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10887[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];7257 -> 10887[label="",style="solid", color="burlywood", weight=9]; 10887 -> 7282[label="",style="solid", color="burlywood", weight=3]; 10888[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];7257 -> 10888[label="",style="solid", color="burlywood", weight=9]; 10888 -> 7283[label="",style="solid", color="burlywood", weight=3]; 7258[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190 == fromInt (Pos Zero)) (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7258 -> 7284[label="",style="solid", color="black", weight=3]; 7259[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190 == fromInt (Pos Zero)) (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7259 -> 7285[label="",style="solid", color="black", weight=3]; 7260[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190 == fromInt (Pos Zero)) (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7260 -> 7286[label="",style="solid", color="black", weight=3]; 7261[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190 == fromInt (Pos Zero)) (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7261 -> 7287[label="",style="solid", color="black", weight=3]; 7571[label="primPlusNat vuz3350 vuz307100",fontsize=16,color="burlywood",shape="triangle"];10889[label="vuz3350/Succ vuz33500",fontsize=10,color="white",style="solid",shape="box"];7571 -> 10889[label="",style="solid", color="burlywood", weight=9]; 10889 -> 7585[label="",style="solid", color="burlywood", weight=3]; 10890[label="vuz3350/Zero",fontsize=10,color="white",style="solid",shape="box"];7571 -> 10890[label="",style="solid", color="burlywood", weight=9]; 10890 -> 7586[label="",style="solid", color="burlywood", weight=3]; 7268[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7268 -> 7296[label="",style="solid", color="black", weight=3]; 7269[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7269 -> 7297[label="",style="solid", color="black", weight=3]; 7270[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7270 -> 7298[label="",style="solid", color="black", weight=3]; 7271[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7271 -> 7299[label="",style="solid", color="black", weight=3]; 7272[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7272 -> 7300[label="",style="solid", color="black", weight=3]; 7273[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7273 -> 7301[label="",style="solid", color="black", weight=3]; 7274[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7274 -> 7302[label="",style="solid", color="black", weight=3]; 7275[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7275 -> 7303[label="",style="solid", color="black", weight=3]; 7276[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7276 -> 7304[label="",style="solid", color="black", weight=3]; 7277[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7277 -> 7305[label="",style="solid", color="black", weight=3]; 7278[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7278 -> 7306[label="",style="solid", color="black", weight=3]; 7279[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7279 -> 7307[label="",style="solid", color="black", weight=3]; 7280[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7280 -> 7308[label="",style="solid", color="black", weight=3]; 7281[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7281 -> 7309[label="",style="solid", color="black", weight=3]; 7282[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7282 -> 7310[label="",style="solid", color="black", weight=3]; 7283[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7283 -> 7311[label="",style="solid", color="black", weight=3]; 7284[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (fromInt (Pos Zero))) (vuz316 * Pos vuz3170 + vuz318 * Pos vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7284 -> 7312[label="",style="solid", color="black", weight=3]; 7285[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (fromInt (Pos Zero))) (vuz316 * Neg vuz3170 + vuz318 * Pos vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7285 -> 7313[label="",style="solid", color="black", weight=3]; 7286[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (fromInt (Pos Zero))) (vuz316 * Pos vuz3170 + vuz318 * Neg vuz3190) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7286 -> 7314[label="",style="solid", color="black", weight=3]; 7287[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (fromInt (Pos Zero))) (vuz316 * Neg vuz3170 + vuz318 * Neg vuz3190) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7287 -> 7315[label="",style="solid", color="black", weight=3]; 7585[label="primPlusNat (Succ vuz33500) vuz307100",fontsize=16,color="burlywood",shape="box"];10891[label="vuz307100/Succ vuz3071000",fontsize=10,color="white",style="solid",shape="box"];7585 -> 10891[label="",style="solid", color="burlywood", weight=9]; 10891 -> 7590[label="",style="solid", color="burlywood", weight=3]; 10892[label="vuz307100/Zero",fontsize=10,color="white",style="solid",shape="box"];7585 -> 10892[label="",style="solid", color="burlywood", weight=9]; 10892 -> 7591[label="",style="solid", color="burlywood", weight=3]; 7586[label="primPlusNat Zero vuz307100",fontsize=16,color="burlywood",shape="box"];10893[label="vuz307100/Succ vuz3071000",fontsize=10,color="white",style="solid",shape="box"];7586 -> 10893[label="",style="solid", color="burlywood", weight=9]; 10893 -> 7592[label="",style="solid", color="burlywood", weight=3]; 10894[label="vuz307100/Zero",fontsize=10,color="white",style="solid",shape="box"];7586 -> 10894[label="",style="solid", color="burlywood", weight=9]; 10894 -> 7593[label="",style="solid", color="burlywood", weight=3]; 7296[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7296 -> 7324[label="",style="solid", color="black", weight=3]; 7297[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7297 -> 7325[label="",style="solid", color="black", weight=3]; 7298[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7298 -> 7326[label="",style="solid", color="black", weight=3]; 7299[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7299 -> 7327[label="",style="solid", color="black", weight=3]; 7300[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7300 -> 7328[label="",style="solid", color="black", weight=3]; 7301[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7301 -> 7329[label="",style="solid", color="black", weight=3]; 7302[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7302 -> 7330[label="",style="solid", color="black", weight=3]; 7303[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7303 -> 7331[label="",style="solid", color="black", weight=3]; 7304[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7304 -> 7332[label="",style="solid", color="black", weight=3]; 7305[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7305 -> 7333[label="",style="solid", color="black", weight=3]; 7306[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7306 -> 7334[label="",style="solid", color="black", weight=3]; 7307[label="primQuotInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7307 -> 7335[label="",style="solid", color="black", weight=3]; 7308[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7308 -> 7336[label="",style="solid", color="black", weight=3]; 7309[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7309 -> 7337[label="",style="solid", color="black", weight=3]; 7310[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7310 -> 7338[label="",style="solid", color="black", weight=3]; 7311[label="primQuotInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (reduce2D (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7311 -> 7339[label="",style="solid", color="black", weight=3]; 7312[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7312 -> 7340[label="",style="solid", color="black", weight=3]; 7313[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7313 -> 7341[label="",style="solid", color="black", weight=3]; 7314[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Pos vuz3170) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7314 -> 7342[label="",style="solid", color="black", weight=3]; 7315[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (vuz316 * Neg vuz3170) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7315 -> 7343[label="",style="solid", color="black", weight=3]; 7590[label="primPlusNat (Succ vuz33500) (Succ vuz3071000)",fontsize=16,color="black",shape="box"];7590 -> 7601[label="",style="solid", color="black", weight=3]; 7591[label="primPlusNat (Succ vuz33500) Zero",fontsize=16,color="black",shape="box"];7591 -> 7602[label="",style="solid", color="black", weight=3]; 7592[label="primPlusNat Zero (Succ vuz3071000)",fontsize=16,color="black",shape="box"];7592 -> 7603[label="",style="solid", color="black", weight=3]; 7593[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];7593 -> 7604[label="",style="solid", color="black", weight=3]; 7324[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7324 -> 7356[label="",style="solid", color="black", weight=3]; 7325[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10895[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7325 -> 10895[label="",style="solid", color="burlywood", weight=9]; 10895 -> 7357[label="",style="solid", color="burlywood", weight=3]; 10896[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7325 -> 10896[label="",style="solid", color="burlywood", weight=9]; 10896 -> 7358[label="",style="solid", color="burlywood", weight=3]; 7326[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10897[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7326 -> 10897[label="",style="solid", color="burlywood", weight=9]; 10897 -> 7359[label="",style="solid", color="burlywood", weight=3]; 10898[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7326 -> 10898[label="",style="solid", color="burlywood", weight=9]; 10898 -> 7360[label="",style="solid", color="burlywood", weight=3]; 7327[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7327 -> 7361[label="",style="solid", color="black", weight=3]; 7328[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10899[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7328 -> 10899[label="",style="solid", color="burlywood", weight=9]; 10899 -> 7362[label="",style="solid", color="burlywood", weight=3]; 10900[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7328 -> 10900[label="",style="solid", color="burlywood", weight=9]; 10900 -> 7363[label="",style="solid", color="burlywood", weight=3]; 7329[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7329 -> 7364[label="",style="solid", color="black", weight=3]; 7330[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7330 -> 7365[label="",style="solid", color="black", weight=3]; 7331[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10901[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7331 -> 10901[label="",style="solid", color="burlywood", weight=9]; 10901 -> 7366[label="",style="solid", color="burlywood", weight=3]; 10902[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7331 -> 10902[label="",style="solid", color="burlywood", weight=9]; 10902 -> 7367[label="",style="solid", color="burlywood", weight=3]; 7332[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10903[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7332 -> 10903[label="",style="solid", color="burlywood", weight=9]; 10903 -> 7368[label="",style="solid", color="burlywood", weight=3]; 10904[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7332 -> 10904[label="",style="solid", color="burlywood", weight=9]; 10904 -> 7369[label="",style="solid", color="burlywood", weight=3]; 7333[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7333 -> 7370[label="",style="solid", color="black", weight=3]; 7334[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7334 -> 7371[label="",style="solid", color="black", weight=3]; 7335[label="primQuotInt (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat vuz3180 vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10905[label="vuz3180/Succ vuz31800",fontsize=10,color="white",style="solid",shape="box"];7335 -> 10905[label="",style="solid", color="burlywood", weight=9]; 10905 -> 7372[label="",style="solid", color="burlywood", weight=3]; 10906[label="vuz3180/Zero",fontsize=10,color="white",style="solid",shape="box"];7335 -> 10906[label="",style="solid", color="burlywood", weight=9]; 10906 -> 7373[label="",style="solid", color="burlywood", weight=3]; 7336[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7336 -> 7374[label="",style="solid", color="black", weight=3]; 7337[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10907[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7337 -> 10907[label="",style="solid", color="burlywood", weight=9]; 10907 -> 7375[label="",style="solid", color="burlywood", weight=3]; 10908[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7337 -> 10908[label="",style="solid", color="burlywood", weight=9]; 10908 -> 7376[label="",style="solid", color="burlywood", weight=3]; 7338[label="primQuotInt (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10909[label="vuz3160/Succ vuz31600",fontsize=10,color="white",style="solid",shape="box"];7338 -> 10909[label="",style="solid", color="burlywood", weight=9]; 10909 -> 7377[label="",style="solid", color="burlywood", weight=3]; 10910[label="vuz3160/Zero",fontsize=10,color="white",style="solid",shape="box"];7338 -> 10910[label="",style="solid", color="burlywood", weight=9]; 10910 -> 7378[label="",style="solid", color="burlywood", weight=3]; 7339[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (reduce2D (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7339 -> 7379[label="",style="solid", color="black", weight=3]; 7340[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10911[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7340 -> 10911[label="",style="solid", color="burlywood", weight=9]; 10911 -> 7380[label="",style="solid", color="burlywood", weight=3]; 10912[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7340 -> 10912[label="",style="solid", color="burlywood", weight=9]; 10912 -> 7381[label="",style="solid", color="burlywood", weight=3]; 7341[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10913[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7341 -> 10913[label="",style="solid", color="burlywood", weight=9]; 10913 -> 7382[label="",style="solid", color="burlywood", weight=3]; 10914[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7341 -> 10914[label="",style="solid", color="burlywood", weight=9]; 10914 -> 7383[label="",style="solid", color="burlywood", weight=3]; 7342[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10915[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7342 -> 10915[label="",style="solid", color="burlywood", weight=9]; 10915 -> 7384[label="",style="solid", color="burlywood", weight=3]; 10916[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7342 -> 10916[label="",style="solid", color="burlywood", weight=9]; 10916 -> 7385[label="",style="solid", color="burlywood", weight=3]; 7343[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt vuz316 (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="burlywood",shape="box"];10917[label="vuz316/Pos vuz3160",fontsize=10,color="white",style="solid",shape="box"];7343 -> 10917[label="",style="solid", color="burlywood", weight=9]; 10917 -> 7386[label="",style="solid", color="burlywood", weight=3]; 10918[label="vuz316/Neg vuz3160",fontsize=10,color="white",style="solid",shape="box"];7343 -> 10918[label="",style="solid", color="burlywood", weight=9]; 10918 -> 7387[label="",style="solid", color="burlywood", weight=3]; 7601[label="Succ (Succ (primPlusNat vuz33500 vuz3071000))",fontsize=16,color="green",shape="box"];7601 -> 7616[label="",style="dashed", color="green", weight=3]; 7602[label="Succ vuz33500",fontsize=16,color="green",shape="box"];7603[label="Succ vuz3071000",fontsize=16,color="green",shape="box"];7604[label="Zero",fontsize=16,color="green",shape="box"];7356[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7356 -> 7427[label="",style="solid", color="black", weight=3]; 7357[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10919[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7357 -> 10919[label="",style="solid", color="burlywood", weight=9]; 10919 -> 7428[label="",style="solid", color="burlywood", weight=3]; 10920[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7357 -> 10920[label="",style="solid", color="burlywood", weight=9]; 10920 -> 7429[label="",style="solid", color="burlywood", weight=3]; 7358[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10921[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7358 -> 10921[label="",style="solid", color="burlywood", weight=9]; 10921 -> 7430[label="",style="solid", color="burlywood", weight=3]; 10922[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7358 -> 10922[label="",style="solid", color="burlywood", weight=9]; 10922 -> 7431[label="",style="solid", color="burlywood", weight=3]; 7359[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10923[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7359 -> 10923[label="",style="solid", color="burlywood", weight=9]; 10923 -> 7432[label="",style="solid", color="burlywood", weight=3]; 10924[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7359 -> 10924[label="",style="solid", color="burlywood", weight=9]; 10924 -> 7433[label="",style="solid", color="burlywood", weight=3]; 7360[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10925[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7360 -> 10925[label="",style="solid", color="burlywood", weight=9]; 10925 -> 7434[label="",style="solid", color="burlywood", weight=3]; 10926[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7360 -> 10926[label="",style="solid", color="burlywood", weight=9]; 10926 -> 7435[label="",style="solid", color="burlywood", weight=3]; 7361[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7361 -> 7436[label="",style="solid", color="black", weight=3]; 7362[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10927[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7362 -> 10927[label="",style="solid", color="burlywood", weight=9]; 10927 -> 7437[label="",style="solid", color="burlywood", weight=3]; 10928[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7362 -> 10928[label="",style="solid", color="burlywood", weight=9]; 10928 -> 7438[label="",style="solid", color="burlywood", weight=3]; 7363[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10929[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7363 -> 10929[label="",style="solid", color="burlywood", weight=9]; 10929 -> 7439[label="",style="solid", color="burlywood", weight=3]; 10930[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7363 -> 10930[label="",style="solid", color="burlywood", weight=9]; 10930 -> 7440[label="",style="solid", color="burlywood", weight=3]; 7364[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7364 -> 7441[label="",style="solid", color="black", weight=3]; 7365[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7365 -> 7442[label="",style="solid", color="black", weight=3]; 7366[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10931[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7366 -> 10931[label="",style="solid", color="burlywood", weight=9]; 10931 -> 7443[label="",style="solid", color="burlywood", weight=3]; 10932[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7366 -> 10932[label="",style="solid", color="burlywood", weight=9]; 10932 -> 7444[label="",style="solid", color="burlywood", weight=3]; 7367[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10933[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7367 -> 10933[label="",style="solid", color="burlywood", weight=9]; 10933 -> 7445[label="",style="solid", color="burlywood", weight=3]; 10934[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7367 -> 10934[label="",style="solid", color="burlywood", weight=9]; 10934 -> 7446[label="",style="solid", color="burlywood", weight=3]; 7368[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10935[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7368 -> 10935[label="",style="solid", color="burlywood", weight=9]; 10935 -> 7447[label="",style="solid", color="burlywood", weight=3]; 10936[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7368 -> 10936[label="",style="solid", color="burlywood", weight=9]; 10936 -> 7448[label="",style="solid", color="burlywood", weight=3]; 7369[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10937[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7369 -> 10937[label="",style="solid", color="burlywood", weight=9]; 10937 -> 7449[label="",style="solid", color="burlywood", weight=3]; 10938[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7369 -> 10938[label="",style="solid", color="burlywood", weight=9]; 10938 -> 7450[label="",style="solid", color="burlywood", weight=3]; 7370[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7370 -> 7451[label="",style="solid", color="black", weight=3]; 7371[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];7371 -> 7452[label="",style="solid", color="black", weight=3]; 7372[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10939[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7372 -> 10939[label="",style="solid", color="burlywood", weight=9]; 10939 -> 7453[label="",style="solid", color="burlywood", weight=3]; 10940[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7372 -> 10940[label="",style="solid", color="burlywood", weight=9]; 10940 -> 7454[label="",style="solid", color="burlywood", weight=3]; 7373[label="primQuotInt (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero vuz3190) (primMulNat vuz3160 vuz3170)) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];10941[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];7373 -> 10941[label="",style="solid", color="burlywood", weight=9]; 10941 -> 7455[label="",style="solid", color="burlywood", weight=3]; 10942[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];7373 -> 10942[label="",style="solid", color="burlywood", weight=9]; 10942 -> 7456[label="",style="solid", color="burlywood", weight=3]; 7374[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7374 -> 7457[label="",style="solid", color="black", weight=3]; 7375[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10943[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7375 -> 10943[label="",style="solid", color="burlywood", weight=9]; 10943 -> 7458[label="",style="solid", color="burlywood", weight=3]; 10944[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7375 -> 10944[label="",style="solid", color="burlywood", weight=9]; 10944 -> 7459[label="",style="solid", color="burlywood", weight=3]; 7376[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10945[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7376 -> 10945[label="",style="solid", color="burlywood", weight=9]; 10945 -> 7460[label="",style="solid", color="burlywood", weight=3]; 10946[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7376 -> 10946[label="",style="solid", color="burlywood", weight=9]; 10946 -> 7461[label="",style="solid", color="burlywood", weight=3]; 7377[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10947[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7377 -> 10947[label="",style="solid", color="burlywood", weight=9]; 10947 -> 7462[label="",style="solid", color="burlywood", weight=3]; 10948[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7377 -> 10948[label="",style="solid", color="burlywood", weight=9]; 10948 -> 7463[label="",style="solid", color="burlywood", weight=3]; 7378[label="primQuotInt (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero vuz3170) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];10949[label="vuz3170/Succ vuz31700",fontsize=10,color="white",style="solid",shape="box"];7378 -> 10949[label="",style="solid", color="burlywood", weight=9]; 10949 -> 7464[label="",style="solid", color="burlywood", weight=3]; 10950[label="vuz3170/Zero",fontsize=10,color="white",style="solid",shape="box"];7378 -> 10950[label="",style="solid", color="burlywood", weight=9]; 10950 -> 7465[label="",style="solid", color="burlywood", weight=3]; 7379[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];7379 -> 7466[label="",style="solid", color="black", weight=3]; 7380[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7380 -> 7467[label="",style="solid", color="black", weight=3]; 7381[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7381 -> 7468[label="",style="solid", color="black", weight=3]; 7382[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7382 -> 7469[label="",style="solid", color="black", weight=3]; 7383[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7383 -> 7470[label="",style="solid", color="black", weight=3]; 7384[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7384 -> 7471[label="",style="solid", color="black", weight=3]; 7385[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Pos vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7385 -> 7472[label="",style="solid", color="black", weight=3]; 7386[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Pos vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7386 -> 7473[label="",style="solid", color="black", weight=3]; 7387[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (primMulInt (Neg vuz3160) (Neg vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="black",shape="box"];7387 -> 7474[label="",style="solid", color="black", weight=3]; 7616 -> 7571[label="",style="dashed", color="red", weight=0]; 7616[label="primPlusNat vuz33500 vuz3071000",fontsize=16,color="magenta"];7616 -> 7622[label="",style="dashed", color="magenta", weight=3]; 7616 -> 7623[label="",style="dashed", color="magenta", weight=3]; 7427 -> 7667[label="",style="dashed", color="red", weight=0]; 7427[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7427 -> 7668[label="",style="dashed", color="magenta", weight=3]; 7427 -> 7669[label="",style="dashed", color="magenta", weight=3]; 7428[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7428 -> 7534[label="",style="solid", color="black", weight=3]; 7429[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7429 -> 7535[label="",style="solid", color="black", weight=3]; 7430[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7430 -> 7536[label="",style="solid", color="black", weight=3]; 7431[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7431 -> 7537[label="",style="solid", color="black", weight=3]; 7432[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7432 -> 7538[label="",style="solid", color="black", weight=3]; 7433[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7433 -> 7539[label="",style="solid", color="black", weight=3]; 7434[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7434 -> 7540[label="",style="solid", color="black", weight=3]; 7435[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7435 -> 7541[label="",style="solid", color="black", weight=3]; 7436 -> 7713[label="",style="dashed", color="red", weight=0]; 7436[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7436 -> 7714[label="",style="dashed", color="magenta", weight=3]; 7436 -> 7715[label="",style="dashed", color="magenta", weight=3]; 7437[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7437 -> 7555[label="",style="solid", color="black", weight=3]; 7438[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7438 -> 7556[label="",style="solid", color="black", weight=3]; 7439[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7439 -> 7557[label="",style="solid", color="black", weight=3]; 7440[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7440 -> 7558[label="",style="solid", color="black", weight=3]; 7441 -> 7745[label="",style="dashed", color="red", weight=0]; 7441[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7441 -> 7746[label="",style="dashed", color="magenta", weight=3]; 7441 -> 7747[label="",style="dashed", color="magenta", weight=3]; 7442 -> 7763[label="",style="dashed", color="red", weight=0]; 7442[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7442 -> 7764[label="",style="dashed", color="magenta", weight=3]; 7442 -> 7765[label="",style="dashed", color="magenta", weight=3]; 7443[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7443 -> 7572[label="",style="solid", color="black", weight=3]; 7444[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7444 -> 7573[label="",style="solid", color="black", weight=3]; 7445[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];7445 -> 7574[label="",style="solid", color="black", weight=3]; 7446[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];7446 -> 7575[label="",style="solid", color="black", weight=3]; 7447[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7447 -> 7576[label="",style="solid", color="black", weight=3]; 7448[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7448 -> 7577[label="",style="solid", color="black", weight=3]; 7449[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7449 -> 7578[label="",style="solid", color="black", weight=3]; 7450[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7450 -> 7579[label="",style="solid", color="black", weight=3]; 7451 -> 7809[label="",style="dashed", color="red", weight=0]; 7451[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7451 -> 7810[label="",style="dashed", color="magenta", weight=3]; 7451 -> 7811[label="",style="dashed", color="magenta", weight=3]; 7452 -> 7587[label="",style="dashed", color="red", weight=0]; 7452[label="primQuotInt (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Neg (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7452 -> 7588[label="",style="dashed", color="magenta", weight=3]; 7452 -> 7589[label="",style="dashed", color="magenta", weight=3]; 7453[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7453 -> 7594[label="",style="solid", color="black", weight=3]; 7454[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat (Succ vuz31800) Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7454 -> 7595[label="",style="solid", color="black", weight=3]; 7455[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];7455 -> 7596[label="",style="solid", color="black", weight=3]; 7456[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];7456 -> 7597[label="",style="solid", color="black", weight=3]; 7457 -> 7598[label="",style="dashed", color="red", weight=0]; 7457[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7457 -> 7599[label="",style="dashed", color="magenta", weight=3]; 7457 -> 7600[label="",style="dashed", color="magenta", weight=3]; 7458[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7458 -> 7605[label="",style="solid", color="black", weight=3]; 7459[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7459 -> 7606[label="",style="solid", color="black", weight=3]; 7460[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7460 -> 7607[label="",style="solid", color="black", weight=3]; 7461[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7461 -> 7608[label="",style="solid", color="black", weight=3]; 7462[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7462 -> 7609[label="",style="solid", color="black", weight=3]; 7463[label="primQuotInt (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat (Succ vuz31600) Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7463 -> 7610[label="",style="solid", color="black", weight=3]; 7464[label="primQuotInt (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];7464 -> 7611[label="",style="solid", color="black", weight=3]; 7465[label="primQuotInt (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primMulNat Zero Zero) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];7465 -> 7612[label="",style="solid", color="black", weight=3]; 7466 -> 7613[label="",style="dashed", color="red", weight=0]; 7466[label="primQuotInt (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (gcd3 (Pos (primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190))) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7466 -> 7614[label="",style="dashed", color="magenta", weight=3]; 7466 -> 7615[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7617[label="",style="dashed", color="red", weight=0]; 7467[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7467 -> 7618[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7619[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7620[label="",style="dashed", color="magenta", weight=3]; 7467 -> 7621[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7624[label="",style="dashed", color="red", weight=0]; 7468[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7468 -> 7625[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7626[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7627[label="",style="dashed", color="magenta", weight=3]; 7468 -> 7628[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7629[label="",style="dashed", color="red", weight=0]; 7469[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7469 -> 7630[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7631[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7632[label="",style="dashed", color="magenta", weight=3]; 7469 -> 7633[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7634[label="",style="dashed", color="red", weight=0]; 7470[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Pos vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7470 -> 7635[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7636[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7637[label="",style="dashed", color="magenta", weight=3]; 7470 -> 7638[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7639[label="",style="dashed", color="red", weight=0]; 7471[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7471 -> 7640[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7641[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7642[label="",style="dashed", color="magenta", weight=3]; 7471 -> 7643[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7644[label="",style="dashed", color="red", weight=0]; 7472[label="primQuotInt (Neg (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Neg (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7472 -> 7645[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7646[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7647[label="",style="dashed", color="magenta", weight=3]; 7472 -> 7648[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7649[label="",style="dashed", color="red", weight=0]; 7473[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7473 -> 7650[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7651[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7652[label="",style="dashed", color="magenta", weight=3]; 7473 -> 7653[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7654[label="",style="dashed", color="red", weight=0]; 7474[label="primQuotInt (Pos (primMulNat vuz3190 vuz3170)) (gcd2 (primEqInt (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos (primMulNat vuz3160 vuz3170)) (vuz318 * Neg vuz3190)) (Pos (primMulNat vuz3190 vuz3170)))",fontsize=16,color="magenta"];7474 -> 7655[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7656[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7657[label="",style="dashed", color="magenta", weight=3]; 7474 -> 7658[label="",style="dashed", color="magenta", weight=3]; 7622[label="vuz33500",fontsize=16,color="green",shape="box"];7623[label="vuz3071000",fontsize=16,color="green",shape="box"];7668 -> 7571[label="",style="dashed", color="red", weight=0]; 7668[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7668 -> 7672[label="",style="dashed", color="magenta", weight=3]; 7668 -> 7673[label="",style="dashed", color="magenta", weight=3]; 7669 -> 7571[label="",style="dashed", color="red", weight=0]; 7669[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7669 -> 7674[label="",style="dashed", color="magenta", weight=3]; 7669 -> 7675[label="",style="dashed", color="magenta", weight=3]; 7667[label="primQuotInt (Pos vuz398) (gcd3 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7667 -> 7676[label="",style="solid", color="black", weight=3]; 7534 -> 7677[label="",style="dashed", color="red", weight=0]; 7534[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7534 -> 7678[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7679[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7680[label="",style="dashed", color="magenta", weight=3]; 7534 -> 7681[label="",style="dashed", color="magenta", weight=3]; 7535 -> 7686[label="",style="dashed", color="red", weight=0]; 7535[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7535 -> 7687[label="",style="dashed", color="magenta", weight=3]; 7535 -> 7688[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7677[label="",style="dashed", color="red", weight=0]; 7536[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7536 -> 7682[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7683[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7684[label="",style="dashed", color="magenta", weight=3]; 7536 -> 7685[label="",style="dashed", color="magenta", weight=3]; 7537 -> 7686[label="",style="dashed", color="red", weight=0]; 7537[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7537 -> 7689[label="",style="dashed", color="magenta", weight=3]; 7537 -> 7690[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7691[label="",style="dashed", color="red", weight=0]; 7538[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7538 -> 7692[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7693[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7694[label="",style="dashed", color="magenta", weight=3]; 7538 -> 7695[label="",style="dashed", color="magenta", weight=3]; 7539 -> 7700[label="",style="dashed", color="red", weight=0]; 7539[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7539 -> 7701[label="",style="dashed", color="magenta", weight=3]; 7539 -> 7702[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7691[label="",style="dashed", color="red", weight=0]; 7540[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];7540 -> 7696[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7697[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7698[label="",style="dashed", color="magenta", weight=3]; 7540 -> 7699[label="",style="dashed", color="magenta", weight=3]; 7541 -> 7700[label="",style="dashed", color="red", weight=0]; 7541[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];7541 -> 7703[label="",style="dashed", color="magenta", weight=3]; 7541 -> 7704[label="",style="dashed", color="magenta", weight=3]; 7714 -> 7571[label="",style="dashed", color="red", weight=0]; 7714[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7714 -> 7718[label="",style="dashed", color="magenta", weight=3]; 7714 -> 7719[label="",style="dashed", color="magenta", weight=3]; 7715 -> 7571[label="",style="dashed", color="red", weight=0]; 7715[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7715 -> 7720[label="",style="dashed", color="magenta", weight=3]; 7715 -> 7721[label="",style="dashed", color="magenta", weight=3]; 7713[label="primQuotInt (Pos vuz416) (gcd3 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7713 -> 7722[label="",style="solid", color="black", weight=3]; 7555 -> 7723[label="",style="dashed", color="red", weight=0]; 7555[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7555 -> 7724[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7725[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7726[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7727[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7732[label="",style="dashed", color="red", weight=0]; 7556[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];7556 -> 7733[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7734[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7723[label="",style="dashed", color="red", weight=0]; 7557[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7557 -> 7728[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7729[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7730[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7731[label="",style="dashed", color="magenta", weight=3]; 7558 -> 7732[label="",style="dashed", color="red", weight=0]; 7558[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];7558 -> 7735[label="",style="dashed", color="magenta", weight=3]; 7558 -> 7736[label="",style="dashed", color="magenta", weight=3]; 7746 -> 7571[label="",style="dashed", color="red", weight=0]; 7746[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7746 -> 7750[label="",style="dashed", color="magenta", weight=3]; 7746 -> 7751[label="",style="dashed", color="magenta", weight=3]; 7747 -> 7571[label="",style="dashed", color="red", weight=0]; 7747[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7747 -> 7752[label="",style="dashed", color="magenta", weight=3]; 7747 -> 7753[label="",style="dashed", color="magenta", weight=3]; 7745[label="primQuotInt (Neg vuz426) (gcd3 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7745 -> 7754[label="",style="solid", color="black", weight=3]; 7764 -> 7571[label="",style="dashed", color="red", weight=0]; 7764[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7764 -> 7768[label="",style="dashed", color="magenta", weight=3]; 7764 -> 7769[label="",style="dashed", color="magenta", weight=3]; 7765 -> 7571[label="",style="dashed", color="red", weight=0]; 7765[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7765 -> 7770[label="",style="dashed", color="magenta", weight=3]; 7765 -> 7771[label="",style="dashed", color="magenta", weight=3]; 7763[label="primQuotInt (Neg vuz428) (gcd3 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7763 -> 7772[label="",style="solid", color="black", weight=3]; 7572 -> 7773[label="",style="dashed", color="red", weight=0]; 7572[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7572 -> 7774[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7775[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7776[label="",style="dashed", color="magenta", weight=3]; 7572 -> 7777[label="",style="dashed", color="magenta", weight=3]; 7573 -> 7782[label="",style="dashed", color="red", weight=0]; 7573[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];7573 -> 7783[label="",style="dashed", color="magenta", weight=3]; 7573 -> 7784[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7773[label="",style="dashed", color="red", weight=0]; 7574[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];7574 -> 7778[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7779[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7780[label="",style="dashed", color="magenta", weight=3]; 7574 -> 7781[label="",style="dashed", color="magenta", weight=3]; 7575 -> 7782[label="",style="dashed", color="red", weight=0]; 7575[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];7575 -> 7785[label="",style="dashed", color="magenta", weight=3]; 7575 -> 7786[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7787[label="",style="dashed", color="red", weight=0]; 7576[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7576 -> 7788[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7789[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7790[label="",style="dashed", color="magenta", weight=3]; 7576 -> 7791[label="",style="dashed", color="magenta", weight=3]; 7577 -> 7796[label="",style="dashed", color="red", weight=0]; 7577[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];7577 -> 7797[label="",style="dashed", color="magenta", weight=3]; 7577 -> 7798[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7787[label="",style="dashed", color="red", weight=0]; 7578[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7578 -> 7792[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7793[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7794[label="",style="dashed", color="magenta", weight=3]; 7578 -> 7795[label="",style="dashed", color="magenta", weight=3]; 7579 -> 7796[label="",style="dashed", color="red", weight=0]; 7579[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];7579 -> 7799[label="",style="dashed", color="magenta", weight=3]; 7579 -> 7800[label="",style="dashed", color="magenta", weight=3]; 7810 -> 7571[label="",style="dashed", color="red", weight=0]; 7810[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7810 -> 7814[label="",style="dashed", color="magenta", weight=3]; 7810 -> 7815[label="",style="dashed", color="magenta", weight=3]; 7811 -> 7571[label="",style="dashed", color="red", weight=0]; 7811[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7811 -> 7816[label="",style="dashed", color="magenta", weight=3]; 7811 -> 7817[label="",style="dashed", color="magenta", weight=3]; 7809[label="primQuotInt (Neg vuz446) (gcd3 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7809 -> 7818[label="",style="solid", color="black", weight=3]; 7588 -> 7571[label="",style="dashed", color="red", weight=0]; 7588[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7588 -> 7819[label="",style="dashed", color="magenta", weight=3]; 7588 -> 7820[label="",style="dashed", color="magenta", weight=3]; 7589 -> 7571[label="",style="dashed", color="red", weight=0]; 7589[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7589 -> 7821[label="",style="dashed", color="magenta", weight=3]; 7589 -> 7822[label="",style="dashed", color="magenta", weight=3]; 7587[label="primQuotInt (Neg vuz348) (gcd3 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];7587 -> 7823[label="",style="solid", color="black", weight=3]; 7594 -> 7824[label="",style="dashed", color="red", weight=0]; 7594[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)) (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7594 -> 7825[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7826[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7827[label="",style="dashed", color="magenta", weight=3]; 7594 -> 7828[label="",style="dashed", color="magenta", weight=3]; 7595 -> 7833[label="",style="dashed", color="red", weight=0]; 7595[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];7595 -> 7834[label="",style="dashed", color="magenta", weight=3]; 7595 -> 7835[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7824[label="",style="dashed", color="red", weight=0]; 7596[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];7596 -> 7829[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7830[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7831[label="",style="dashed", color="magenta", weight=3]; 7596 -> 7832[label="",style="dashed", color="magenta", weight=3]; 7597 -> 7833[label="",style="dashed", color="red", weight=0]; 7597[label="primQuotInt (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (reduce2D (primMinusNat Zero (primMulNat vuz3160 vuz3170)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];7597 -> 7836[label="",style="dashed", color="magenta", weight=3]; 7597 -> 7837[label="",style="dashed", color="magenta", weight=3]; 7599 -> 7571[label="",style="dashed", color="red", weight=0]; 7599[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7599 -> 7838[label="",style="dashed", color="magenta", weight=3]; 7599 -> 7839[label="",style="dashed", color="magenta", weight=3]; 7600 -> 7571[label="",style="dashed", color="red", weight=0]; 7600[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7600 -> 7840[label="",style="dashed", color="magenta", weight=3]; 7600 -> 7841[label="",style="dashed", color="magenta", weight=3]; 7598[label="primQuotInt (Pos vuz354) (gcd3 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7598 -> 7842[label="",style="solid", color="black", weight=3]; 7605 -> 7843[label="",style="dashed", color="red", weight=0]; 7605[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7605 -> 7844[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7845[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7846[label="",style="dashed", color="magenta", weight=3]; 7605 -> 7847[label="",style="dashed", color="magenta", weight=3]; 7606 -> 7852[label="",style="dashed", color="red", weight=0]; 7606[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7606 -> 7853[label="",style="dashed", color="magenta", weight=3]; 7606 -> 7854[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7843[label="",style="dashed", color="red", weight=0]; 7607[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7607 -> 7848[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7849[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7850[label="",style="dashed", color="magenta", weight=3]; 7607 -> 7851[label="",style="dashed", color="magenta", weight=3]; 7608 -> 7852[label="",style="dashed", color="red", weight=0]; 7608[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7608 -> 7855[label="",style="dashed", color="magenta", weight=3]; 7608 -> 7856[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7857[label="",style="dashed", color="red", weight=0]; 7609[label="primQuotInt (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat (primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)) (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7609 -> 7858[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7859[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7860[label="",style="dashed", color="magenta", weight=3]; 7609 -> 7861[label="",style="dashed", color="magenta", weight=3]; 7610 -> 7866[label="",style="dashed", color="red", weight=0]; 7610[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7610 -> 7867[label="",style="dashed", color="magenta", weight=3]; 7610 -> 7868[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7857[label="",style="dashed", color="red", weight=0]; 7611[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];7611 -> 7862[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7863[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7864[label="",style="dashed", color="magenta", weight=3]; 7611 -> 7865[label="",style="dashed", color="magenta", weight=3]; 7612 -> 7866[label="",style="dashed", color="red", weight=0]; 7612[label="primQuotInt (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (reduce2D (primMinusNat Zero (primMulNat vuz3180 vuz3190)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];7612 -> 7869[label="",style="dashed", color="magenta", weight=3]; 7612 -> 7870[label="",style="dashed", color="magenta", weight=3]; 7614 -> 7571[label="",style="dashed", color="red", weight=0]; 7614[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7614 -> 7871[label="",style="dashed", color="magenta", weight=3]; 7614 -> 7872[label="",style="dashed", color="magenta", weight=3]; 7615 -> 7571[label="",style="dashed", color="red", weight=0]; 7615[label="primPlusNat (primMulNat vuz3160 vuz3170) (primMulNat vuz3180 vuz3190)",fontsize=16,color="magenta"];7615 -> 7873[label="",style="dashed", color="magenta", weight=3]; 7615 -> 7874[label="",style="dashed", color="magenta", weight=3]; 7613[label="primQuotInt (Pos vuz360) (gcd3 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];7613 -> 7875[label="",style="solid", color="black", weight=3]; 7618 -> 7480[label="",style="dashed", color="red", weight=0]; 7618[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7618 -> 7876[label="",style="dashed", color="magenta", weight=3]; 7618 -> 7877[label="",style="dashed", color="magenta", weight=3]; 7619 -> 7480[label="",style="dashed", color="red", weight=0]; 7619[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7619 -> 7878[label="",style="dashed", color="magenta", weight=3]; 7619 -> 7879[label="",style="dashed", color="magenta", weight=3]; 7620 -> 7480[label="",style="dashed", color="red", weight=0]; 7620[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7620 -> 7880[label="",style="dashed", color="magenta", weight=3]; 7620 -> 7881[label="",style="dashed", color="magenta", weight=3]; 7621 -> 7480[label="",style="dashed", color="red", weight=0]; 7621[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7621 -> 7882[label="",style="dashed", color="magenta", weight=3]; 7621 -> 7883[label="",style="dashed", color="magenta", weight=3]; 7617[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (vuz318 * Pos vuz3190)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];7617 -> 7884[label="",style="solid", color="black", weight=3]; 7625 -> 7480[label="",style="dashed", color="red", weight=0]; 7625[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7625 -> 7885[label="",style="dashed", color="magenta", weight=3]; 7625 -> 7886[label="",style="dashed", color="magenta", weight=3]; 7626 -> 7480[label="",style="dashed", color="red", weight=0]; 7626[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7626 -> 7887[label="",style="dashed", color="magenta", weight=3]; 7626 -> 7888[label="",style="dashed", color="magenta", weight=3]; 7627 -> 7480[label="",style="dashed", color="red", weight=0]; 7627[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7627 -> 7889[label="",style="dashed", color="magenta", weight=3]; 7627 -> 7890[label="",style="dashed", color="magenta", weight=3]; 7628 -> 7480[label="",style="dashed", color="red", weight=0]; 7628[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7628 -> 7891[label="",style="dashed", color="magenta", weight=3]; 7628 -> 7892[label="",style="dashed", color="magenta", weight=3]; 7624[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (vuz318 * Pos vuz3190)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];7624 -> 7893[label="",style="solid", color="black", weight=3]; 7630 -> 7480[label="",style="dashed", color="red", weight=0]; 7630[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7630 -> 7894[label="",style="dashed", color="magenta", weight=3]; 7630 -> 7895[label="",style="dashed", color="magenta", weight=3]; 7631 -> 7480[label="",style="dashed", color="red", weight=0]; 7631[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7631 -> 7896[label="",style="dashed", color="magenta", weight=3]; 7631 -> 7897[label="",style="dashed", color="magenta", weight=3]; 7632 -> 7480[label="",style="dashed", color="red", weight=0]; 7632[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7632 -> 7898[label="",style="dashed", color="magenta", weight=3]; 7632 -> 7899[label="",style="dashed", color="magenta", weight=3]; 7633 -> 7480[label="",style="dashed", color="red", weight=0]; 7633[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7633 -> 7900[label="",style="dashed", color="magenta", weight=3]; 7633 -> 7901[label="",style="dashed", color="magenta", weight=3]; 7629[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (vuz318 * Pos vuz3190)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];7629 -> 7902[label="",style="solid", color="black", weight=3]; 7635 -> 7480[label="",style="dashed", color="red", weight=0]; 7635[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7635 -> 7903[label="",style="dashed", color="magenta", weight=3]; 7635 -> 7904[label="",style="dashed", color="magenta", weight=3]; 7636 -> 7480[label="",style="dashed", color="red", weight=0]; 7636[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7636 -> 7905[label="",style="dashed", color="magenta", weight=3]; 7636 -> 7906[label="",style="dashed", color="magenta", weight=3]; 7637 -> 7480[label="",style="dashed", color="red", weight=0]; 7637[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7637 -> 7907[label="",style="dashed", color="magenta", weight=3]; 7637 -> 7908[label="",style="dashed", color="magenta", weight=3]; 7638 -> 7480[label="",style="dashed", color="red", weight=0]; 7638[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7638 -> 7909[label="",style="dashed", color="magenta", weight=3]; 7638 -> 7910[label="",style="dashed", color="magenta", weight=3]; 7634[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (vuz318 * Pos vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (vuz318 * Pos vuz3190)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];7634 -> 7911[label="",style="solid", color="black", weight=3]; 7640 -> 7480[label="",style="dashed", color="red", weight=0]; 7640[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7640 -> 7912[label="",style="dashed", color="magenta", weight=3]; 7640 -> 7913[label="",style="dashed", color="magenta", weight=3]; 7641 -> 7480[label="",style="dashed", color="red", weight=0]; 7641[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7641 -> 7914[label="",style="dashed", color="magenta", weight=3]; 7641 -> 7915[label="",style="dashed", color="magenta", weight=3]; 7642 -> 7480[label="",style="dashed", color="red", weight=0]; 7642[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7642 -> 7916[label="",style="dashed", color="magenta", weight=3]; 7642 -> 7917[label="",style="dashed", color="magenta", weight=3]; 7643 -> 7480[label="",style="dashed", color="red", weight=0]; 7643[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7643 -> 7918[label="",style="dashed", color="magenta", weight=3]; 7643 -> 7919[label="",style="dashed", color="magenta", weight=3]; 7639[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (vuz318 * Neg vuz3190)) (Neg vuz383))",fontsize=16,color="black",shape="triangle"];7639 -> 7920[label="",style="solid", color="black", weight=3]; 7645 -> 7480[label="",style="dashed", color="red", weight=0]; 7645[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7645 -> 7921[label="",style="dashed", color="magenta", weight=3]; 7645 -> 7922[label="",style="dashed", color="magenta", weight=3]; 7646 -> 7480[label="",style="dashed", color="red", weight=0]; 7646[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7646 -> 7923[label="",style="dashed", color="magenta", weight=3]; 7646 -> 7924[label="",style="dashed", color="magenta", weight=3]; 7647 -> 7480[label="",style="dashed", color="red", weight=0]; 7647[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7647 -> 7925[label="",style="dashed", color="magenta", weight=3]; 7647 -> 7926[label="",style="dashed", color="magenta", weight=3]; 7648 -> 7480[label="",style="dashed", color="red", weight=0]; 7648[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7648 -> 7927[label="",style="dashed", color="magenta", weight=3]; 7648 -> 7928[label="",style="dashed", color="magenta", weight=3]; 7644[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (vuz318 * Neg vuz3190)) (Neg vuz387))",fontsize=16,color="black",shape="triangle"];7644 -> 7929[label="",style="solid", color="black", weight=3]; 7650 -> 7480[label="",style="dashed", color="red", weight=0]; 7650[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7650 -> 7930[label="",style="dashed", color="magenta", weight=3]; 7650 -> 7931[label="",style="dashed", color="magenta", weight=3]; 7651 -> 7480[label="",style="dashed", color="red", weight=0]; 7651[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7651 -> 7932[label="",style="dashed", color="magenta", weight=3]; 7651 -> 7933[label="",style="dashed", color="magenta", weight=3]; 7652 -> 7480[label="",style="dashed", color="red", weight=0]; 7652[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7652 -> 7934[label="",style="dashed", color="magenta", weight=3]; 7652 -> 7935[label="",style="dashed", color="magenta", weight=3]; 7653 -> 7480[label="",style="dashed", color="red", weight=0]; 7653[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7653 -> 7936[label="",style="dashed", color="magenta", weight=3]; 7653 -> 7937[label="",style="dashed", color="magenta", weight=3]; 7649[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (vuz318 * Neg vuz3190)) (Pos vuz391))",fontsize=16,color="black",shape="triangle"];7649 -> 7938[label="",style="solid", color="black", weight=3]; 7655 -> 7480[label="",style="dashed", color="red", weight=0]; 7655[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7655 -> 7939[label="",style="dashed", color="magenta", weight=3]; 7655 -> 7940[label="",style="dashed", color="magenta", weight=3]; 7656 -> 7480[label="",style="dashed", color="red", weight=0]; 7656[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7656 -> 7941[label="",style="dashed", color="magenta", weight=3]; 7656 -> 7942[label="",style="dashed", color="magenta", weight=3]; 7657 -> 7480[label="",style="dashed", color="red", weight=0]; 7657[label="primMulNat vuz3190 vuz3170",fontsize=16,color="magenta"];7657 -> 7943[label="",style="dashed", color="magenta", weight=3]; 7657 -> 7944[label="",style="dashed", color="magenta", weight=3]; 7658 -> 7480[label="",style="dashed", color="red", weight=0]; 7658[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7658 -> 7945[label="",style="dashed", color="magenta", weight=3]; 7658 -> 7946[label="",style="dashed", color="magenta", weight=3]; 7654[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (vuz318 * Neg vuz3190)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (vuz318 * Neg vuz3190)) (Pos vuz395))",fontsize=16,color="black",shape="triangle"];7654 -> 7947[label="",style="solid", color="black", weight=3]; 7672 -> 7480[label="",style="dashed", color="red", weight=0]; 7672[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7672 -> 7948[label="",style="dashed", color="magenta", weight=3]; 7672 -> 7949[label="",style="dashed", color="magenta", weight=3]; 7673 -> 7480[label="",style="dashed", color="red", weight=0]; 7673[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7673 -> 7950[label="",style="dashed", color="magenta", weight=3]; 7673 -> 7951[label="",style="dashed", color="magenta", weight=3]; 7674 -> 7480[label="",style="dashed", color="red", weight=0]; 7674[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7674 -> 7952[label="",style="dashed", color="magenta", weight=3]; 7674 -> 7953[label="",style="dashed", color="magenta", weight=3]; 7675 -> 7480[label="",style="dashed", color="red", weight=0]; 7675[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7675 -> 7954[label="",style="dashed", color="magenta", weight=3]; 7675 -> 7955[label="",style="dashed", color="magenta", weight=3]; 7676 -> 8228[label="",style="dashed", color="red", weight=0]; 7676[label="primQuotInt (Pos vuz398) (gcd2 (Pos vuz399 == fromInt (Pos Zero)) (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7676 -> 8229[label="",style="dashed", color="magenta", weight=3]; 7678 -> 7480[label="",style="dashed", color="red", weight=0]; 7678[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7678 -> 7957[label="",style="dashed", color="magenta", weight=3]; 7678 -> 7958[label="",style="dashed", color="magenta", weight=3]; 7679 -> 7571[label="",style="dashed", color="red", weight=0]; 7679[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7679 -> 7959[label="",style="dashed", color="magenta", weight=3]; 7679 -> 7960[label="",style="dashed", color="magenta", weight=3]; 7680 -> 7571[label="",style="dashed", color="red", weight=0]; 7680[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7680 -> 7961[label="",style="dashed", color="magenta", weight=3]; 7680 -> 7962[label="",style="dashed", color="magenta", weight=3]; 7681 -> 7480[label="",style="dashed", color="red", weight=0]; 7681[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7681 -> 7963[label="",style="dashed", color="magenta", weight=3]; 7681 -> 7964[label="",style="dashed", color="magenta", weight=3]; 7677[label="primQuotInt (primMinusNat vuz401 vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10951[label="vuz401/Succ vuz4010",fontsize=10,color="white",style="solid",shape="box"];7677 -> 10951[label="",style="solid", color="burlywood", weight=9]; 10951 -> 7965[label="",style="solid", color="burlywood", weight=3]; 10952[label="vuz401/Zero",fontsize=10,color="white",style="solid",shape="box"];7677 -> 10952[label="",style="solid", color="burlywood", weight=9]; 10952 -> 7966[label="",style="solid", color="burlywood", weight=3]; 7687 -> 7480[label="",style="dashed", color="red", weight=0]; 7687[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7687 -> 7967[label="",style="dashed", color="magenta", weight=3]; 7687 -> 7968[label="",style="dashed", color="magenta", weight=3]; 7688 -> 7480[label="",style="dashed", color="red", weight=0]; 7688[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7688 -> 7969[label="",style="dashed", color="magenta", weight=3]; 7688 -> 7970[label="",style="dashed", color="magenta", weight=3]; 7686[label="primQuotInt (primMinusNat Zero vuz406) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];10953[label="vuz406/Succ vuz4060",fontsize=10,color="white",style="solid",shape="box"];7686 -> 10953[label="",style="solid", color="burlywood", weight=9]; 10953 -> 7971[label="",style="solid", color="burlywood", weight=3]; 10954[label="vuz406/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 10954[label="",style="solid", color="burlywood", weight=9]; 10954 -> 7972[label="",style="solid", color="burlywood", weight=3]; 7682 -> 7480[label="",style="dashed", color="red", weight=0]; 7682[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7682 -> 7973[label="",style="dashed", color="magenta", weight=3]; 7682 -> 7974[label="",style="dashed", color="magenta", weight=3]; 7683[label="Zero",fontsize=16,color="green",shape="box"];7684[label="Zero",fontsize=16,color="green",shape="box"];7685 -> 7480[label="",style="dashed", color="red", weight=0]; 7685[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7685 -> 7975[label="",style="dashed", color="magenta", weight=3]; 7685 -> 7976[label="",style="dashed", color="magenta", weight=3]; 7689 -> 7480[label="",style="dashed", color="red", weight=0]; 7689[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7689 -> 7977[label="",style="dashed", color="magenta", weight=3]; 7689 -> 7978[label="",style="dashed", color="magenta", weight=3]; 7690 -> 7480[label="",style="dashed", color="red", weight=0]; 7690[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7690 -> 7979[label="",style="dashed", color="magenta", weight=3]; 7690 -> 7980[label="",style="dashed", color="magenta", weight=3]; 7692 -> 7571[label="",style="dashed", color="red", weight=0]; 7692[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7692 -> 7981[label="",style="dashed", color="magenta", weight=3]; 7692 -> 7982[label="",style="dashed", color="magenta", weight=3]; 7693 -> 7480[label="",style="dashed", color="red", weight=0]; 7693[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7693 -> 7983[label="",style="dashed", color="magenta", weight=3]; 7693 -> 7984[label="",style="dashed", color="magenta", weight=3]; 7694 -> 7571[label="",style="dashed", color="red", weight=0]; 7694[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7694 -> 7985[label="",style="dashed", color="magenta", weight=3]; 7694 -> 7986[label="",style="dashed", color="magenta", weight=3]; 7695 -> 7480[label="",style="dashed", color="red", weight=0]; 7695[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7695 -> 7987[label="",style="dashed", color="magenta", weight=3]; 7695 -> 7988[label="",style="dashed", color="magenta", weight=3]; 7691[label="primQuotInt (primMinusNat vuz409 vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10955[label="vuz409/Succ vuz4090",fontsize=10,color="white",style="solid",shape="box"];7691 -> 10955[label="",style="solid", color="burlywood", weight=9]; 10955 -> 7989[label="",style="solid", color="burlywood", weight=3]; 10956[label="vuz409/Zero",fontsize=10,color="white",style="solid",shape="box"];7691 -> 10956[label="",style="solid", color="burlywood", weight=9]; 10956 -> 7990[label="",style="solid", color="burlywood", weight=3]; 7701 -> 7480[label="",style="dashed", color="red", weight=0]; 7701[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7701 -> 7991[label="",style="dashed", color="magenta", weight=3]; 7701 -> 7992[label="",style="dashed", color="magenta", weight=3]; 7702 -> 7480[label="",style="dashed", color="red", weight=0]; 7702[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7702 -> 7993[label="",style="dashed", color="magenta", weight=3]; 7702 -> 7994[label="",style="dashed", color="magenta", weight=3]; 7700[label="primQuotInt (primMinusNat Zero vuz414) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];10957[label="vuz414/Succ vuz4140",fontsize=10,color="white",style="solid",shape="box"];7700 -> 10957[label="",style="solid", color="burlywood", weight=9]; 10957 -> 7995[label="",style="solid", color="burlywood", weight=3]; 10958[label="vuz414/Zero",fontsize=10,color="white",style="solid",shape="box"];7700 -> 10958[label="",style="solid", color="burlywood", weight=9]; 10958 -> 7996[label="",style="solid", color="burlywood", weight=3]; 7696[label="Zero",fontsize=16,color="green",shape="box"];7697 -> 7480[label="",style="dashed", color="red", weight=0]; 7697[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7697 -> 7997[label="",style="dashed", color="magenta", weight=3]; 7697 -> 7998[label="",style="dashed", color="magenta", weight=3]; 7698[label="Zero",fontsize=16,color="green",shape="box"];7699 -> 7480[label="",style="dashed", color="red", weight=0]; 7699[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7699 -> 7999[label="",style="dashed", color="magenta", weight=3]; 7699 -> 8000[label="",style="dashed", color="magenta", weight=3]; 7703 -> 7480[label="",style="dashed", color="red", weight=0]; 7703[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7703 -> 8001[label="",style="dashed", color="magenta", weight=3]; 7703 -> 8002[label="",style="dashed", color="magenta", weight=3]; 7704 -> 7480[label="",style="dashed", color="red", weight=0]; 7704[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7704 -> 8003[label="",style="dashed", color="magenta", weight=3]; 7704 -> 8004[label="",style="dashed", color="magenta", weight=3]; 7718 -> 7480[label="",style="dashed", color="red", weight=0]; 7718[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7718 -> 8005[label="",style="dashed", color="magenta", weight=3]; 7718 -> 8006[label="",style="dashed", color="magenta", weight=3]; 7719 -> 7480[label="",style="dashed", color="red", weight=0]; 7719[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7719 -> 8007[label="",style="dashed", color="magenta", weight=3]; 7719 -> 8008[label="",style="dashed", color="magenta", weight=3]; 7720 -> 7480[label="",style="dashed", color="red", weight=0]; 7720[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7720 -> 8009[label="",style="dashed", color="magenta", weight=3]; 7720 -> 8010[label="",style="dashed", color="magenta", weight=3]; 7721 -> 7480[label="",style="dashed", color="red", weight=0]; 7721[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7721 -> 8011[label="",style="dashed", color="magenta", weight=3]; 7721 -> 8012[label="",style="dashed", color="magenta", weight=3]; 7722 -> 8254[label="",style="dashed", color="red", weight=0]; 7722[label="primQuotInt (Pos vuz416) (gcd2 (Pos vuz417 == fromInt (Pos Zero)) (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7722 -> 8255[label="",style="dashed", color="magenta", weight=3]; 7724 -> 7480[label="",style="dashed", color="red", weight=0]; 7724[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7724 -> 8014[label="",style="dashed", color="magenta", weight=3]; 7724 -> 8015[label="",style="dashed", color="magenta", weight=3]; 7725 -> 7571[label="",style="dashed", color="red", weight=0]; 7725[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7725 -> 8016[label="",style="dashed", color="magenta", weight=3]; 7725 -> 8017[label="",style="dashed", color="magenta", weight=3]; 7726 -> 7480[label="",style="dashed", color="red", weight=0]; 7726[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7726 -> 8018[label="",style="dashed", color="magenta", weight=3]; 7726 -> 8019[label="",style="dashed", color="magenta", weight=3]; 7727 -> 7571[label="",style="dashed", color="red", weight=0]; 7727[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7727 -> 8020[label="",style="dashed", color="magenta", weight=3]; 7727 -> 8021[label="",style="dashed", color="magenta", weight=3]; 7723[label="primQuotInt (primMinusNat vuz419 vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10959[label="vuz419/Succ vuz4190",fontsize=10,color="white",style="solid",shape="box"];7723 -> 10959[label="",style="solid", color="burlywood", weight=9]; 10959 -> 8022[label="",style="solid", color="burlywood", weight=3]; 10960[label="vuz419/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 10960[label="",style="solid", color="burlywood", weight=9]; 10960 -> 8023[label="",style="solid", color="burlywood", weight=3]; 7733 -> 7480[label="",style="dashed", color="red", weight=0]; 7733[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7733 -> 8024[label="",style="dashed", color="magenta", weight=3]; 7733 -> 8025[label="",style="dashed", color="magenta", weight=3]; 7734 -> 7480[label="",style="dashed", color="red", weight=0]; 7734[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7734 -> 8026[label="",style="dashed", color="magenta", weight=3]; 7734 -> 8027[label="",style="dashed", color="magenta", weight=3]; 7732[label="primQuotInt (primMinusNat Zero vuz424) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10961[label="vuz424/Succ vuz4240",fontsize=10,color="white",style="solid",shape="box"];7732 -> 10961[label="",style="solid", color="burlywood", weight=9]; 10961 -> 8028[label="",style="solid", color="burlywood", weight=3]; 10962[label="vuz424/Zero",fontsize=10,color="white",style="solid",shape="box"];7732 -> 10962[label="",style="solid", color="burlywood", weight=9]; 10962 -> 8029[label="",style="solid", color="burlywood", weight=3]; 7728 -> 7480[label="",style="dashed", color="red", weight=0]; 7728[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7728 -> 8030[label="",style="dashed", color="magenta", weight=3]; 7728 -> 8031[label="",style="dashed", color="magenta", weight=3]; 7729[label="Zero",fontsize=16,color="green",shape="box"];7730 -> 7480[label="",style="dashed", color="red", weight=0]; 7730[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7730 -> 8032[label="",style="dashed", color="magenta", weight=3]; 7730 -> 8033[label="",style="dashed", color="magenta", weight=3]; 7731[label="Zero",fontsize=16,color="green",shape="box"];7735 -> 7480[label="",style="dashed", color="red", weight=0]; 7735[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7735 -> 8034[label="",style="dashed", color="magenta", weight=3]; 7735 -> 8035[label="",style="dashed", color="magenta", weight=3]; 7736 -> 7480[label="",style="dashed", color="red", weight=0]; 7736[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7736 -> 8036[label="",style="dashed", color="magenta", weight=3]; 7736 -> 8037[label="",style="dashed", color="magenta", weight=3]; 7750 -> 7480[label="",style="dashed", color="red", weight=0]; 7750[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7750 -> 8038[label="",style="dashed", color="magenta", weight=3]; 7750 -> 8039[label="",style="dashed", color="magenta", weight=3]; 7751 -> 7480[label="",style="dashed", color="red", weight=0]; 7751[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7751 -> 8040[label="",style="dashed", color="magenta", weight=3]; 7751 -> 8041[label="",style="dashed", color="magenta", weight=3]; 7752 -> 7480[label="",style="dashed", color="red", weight=0]; 7752[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7752 -> 8042[label="",style="dashed", color="magenta", weight=3]; 7752 -> 8043[label="",style="dashed", color="magenta", weight=3]; 7753 -> 7480[label="",style="dashed", color="red", weight=0]; 7753[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7753 -> 8044[label="",style="dashed", color="magenta", weight=3]; 7753 -> 8045[label="",style="dashed", color="magenta", weight=3]; 7754 -> 8270[label="",style="dashed", color="red", weight=0]; 7754[label="primQuotInt (Neg vuz426) (gcd2 (Neg vuz427 == fromInt (Pos Zero)) (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7754 -> 8271[label="",style="dashed", color="magenta", weight=3]; 7768 -> 7480[label="",style="dashed", color="red", weight=0]; 7768[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7768 -> 8047[label="",style="dashed", color="magenta", weight=3]; 7768 -> 8048[label="",style="dashed", color="magenta", weight=3]; 7769 -> 7480[label="",style="dashed", color="red", weight=0]; 7769[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7769 -> 8049[label="",style="dashed", color="magenta", weight=3]; 7769 -> 8050[label="",style="dashed", color="magenta", weight=3]; 7770 -> 7480[label="",style="dashed", color="red", weight=0]; 7770[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7770 -> 8051[label="",style="dashed", color="magenta", weight=3]; 7770 -> 8052[label="",style="dashed", color="magenta", weight=3]; 7771 -> 7480[label="",style="dashed", color="red", weight=0]; 7771[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7771 -> 8053[label="",style="dashed", color="magenta", weight=3]; 7771 -> 8054[label="",style="dashed", color="magenta", weight=3]; 7772 -> 8276[label="",style="dashed", color="red", weight=0]; 7772[label="primQuotInt (Neg vuz428) (gcd2 (Neg vuz429 == fromInt (Pos Zero)) (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7772 -> 8277[label="",style="dashed", color="magenta", weight=3]; 7774 -> 7571[label="",style="dashed", color="red", weight=0]; 7774[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7774 -> 8056[label="",style="dashed", color="magenta", weight=3]; 7774 -> 8057[label="",style="dashed", color="magenta", weight=3]; 7775 -> 7480[label="",style="dashed", color="red", weight=0]; 7775[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7775 -> 8058[label="",style="dashed", color="magenta", weight=3]; 7775 -> 8059[label="",style="dashed", color="magenta", weight=3]; 7776 -> 7480[label="",style="dashed", color="red", weight=0]; 7776[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7776 -> 8060[label="",style="dashed", color="magenta", weight=3]; 7776 -> 8061[label="",style="dashed", color="magenta", weight=3]; 7777 -> 7571[label="",style="dashed", color="red", weight=0]; 7777[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7777 -> 8062[label="",style="dashed", color="magenta", weight=3]; 7777 -> 8063[label="",style="dashed", color="magenta", weight=3]; 7773[label="primQuotInt (primMinusNat vuz431 vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10963[label="vuz431/Succ vuz4310",fontsize=10,color="white",style="solid",shape="box"];7773 -> 10963[label="",style="solid", color="burlywood", weight=9]; 10963 -> 8064[label="",style="solid", color="burlywood", weight=3]; 10964[label="vuz431/Zero",fontsize=10,color="white",style="solid",shape="box"];7773 -> 10964[label="",style="solid", color="burlywood", weight=9]; 10964 -> 8065[label="",style="solid", color="burlywood", weight=3]; 7783 -> 7480[label="",style="dashed", color="red", weight=0]; 7783[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7783 -> 8066[label="",style="dashed", color="magenta", weight=3]; 7783 -> 8067[label="",style="dashed", color="magenta", weight=3]; 7784 -> 7480[label="",style="dashed", color="red", weight=0]; 7784[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7784 -> 8068[label="",style="dashed", color="magenta", weight=3]; 7784 -> 8069[label="",style="dashed", color="magenta", weight=3]; 7782[label="primQuotInt (primMinusNat Zero vuz436) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10965[label="vuz436/Succ vuz4360",fontsize=10,color="white",style="solid",shape="box"];7782 -> 10965[label="",style="solid", color="burlywood", weight=9]; 10965 -> 8070[label="",style="solid", color="burlywood", weight=3]; 10966[label="vuz436/Zero",fontsize=10,color="white",style="solid",shape="box"];7782 -> 10966[label="",style="solid", color="burlywood", weight=9]; 10966 -> 8071[label="",style="solid", color="burlywood", weight=3]; 7778[label="Zero",fontsize=16,color="green",shape="box"];7779 -> 7480[label="",style="dashed", color="red", weight=0]; 7779[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7779 -> 8072[label="",style="dashed", color="magenta", weight=3]; 7779 -> 8073[label="",style="dashed", color="magenta", weight=3]; 7780 -> 7480[label="",style="dashed", color="red", weight=0]; 7780[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7780 -> 8074[label="",style="dashed", color="magenta", weight=3]; 7780 -> 8075[label="",style="dashed", color="magenta", weight=3]; 7781[label="Zero",fontsize=16,color="green",shape="box"];7785 -> 7480[label="",style="dashed", color="red", weight=0]; 7785[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7785 -> 8076[label="",style="dashed", color="magenta", weight=3]; 7785 -> 8077[label="",style="dashed", color="magenta", weight=3]; 7786 -> 7480[label="",style="dashed", color="red", weight=0]; 7786[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7786 -> 8078[label="",style="dashed", color="magenta", weight=3]; 7786 -> 8079[label="",style="dashed", color="magenta", weight=3]; 7788 -> 7571[label="",style="dashed", color="red", weight=0]; 7788[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7788 -> 8080[label="",style="dashed", color="magenta", weight=3]; 7788 -> 8081[label="",style="dashed", color="magenta", weight=3]; 7789 -> 7480[label="",style="dashed", color="red", weight=0]; 7789[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7789 -> 8082[label="",style="dashed", color="magenta", weight=3]; 7789 -> 8083[label="",style="dashed", color="magenta", weight=3]; 7790 -> 7480[label="",style="dashed", color="red", weight=0]; 7790[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7790 -> 8084[label="",style="dashed", color="magenta", weight=3]; 7790 -> 8085[label="",style="dashed", color="magenta", weight=3]; 7791 -> 7571[label="",style="dashed", color="red", weight=0]; 7791[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7791 -> 8086[label="",style="dashed", color="magenta", weight=3]; 7791 -> 8087[label="",style="dashed", color="magenta", weight=3]; 7787[label="primQuotInt (primMinusNat vuz439 vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10967[label="vuz439/Succ vuz4390",fontsize=10,color="white",style="solid",shape="box"];7787 -> 10967[label="",style="solid", color="burlywood", weight=9]; 10967 -> 8088[label="",style="solid", color="burlywood", weight=3]; 10968[label="vuz439/Zero",fontsize=10,color="white",style="solid",shape="box"];7787 -> 10968[label="",style="solid", color="burlywood", weight=9]; 10968 -> 8089[label="",style="solid", color="burlywood", weight=3]; 7797 -> 7480[label="",style="dashed", color="red", weight=0]; 7797[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7797 -> 8090[label="",style="dashed", color="magenta", weight=3]; 7797 -> 8091[label="",style="dashed", color="magenta", weight=3]; 7798 -> 7480[label="",style="dashed", color="red", weight=0]; 7798[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7798 -> 8092[label="",style="dashed", color="magenta", weight=3]; 7798 -> 8093[label="",style="dashed", color="magenta", weight=3]; 7796[label="primQuotInt (primMinusNat Zero vuz444) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10969[label="vuz444/Succ vuz4440",fontsize=10,color="white",style="solid",shape="box"];7796 -> 10969[label="",style="solid", color="burlywood", weight=9]; 10969 -> 8094[label="",style="solid", color="burlywood", weight=3]; 10970[label="vuz444/Zero",fontsize=10,color="white",style="solid",shape="box"];7796 -> 10970[label="",style="solid", color="burlywood", weight=9]; 10970 -> 8095[label="",style="solid", color="burlywood", weight=3]; 7792[label="Zero",fontsize=16,color="green",shape="box"];7793 -> 7480[label="",style="dashed", color="red", weight=0]; 7793[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7793 -> 8096[label="",style="dashed", color="magenta", weight=3]; 7793 -> 8097[label="",style="dashed", color="magenta", weight=3]; 7794 -> 7480[label="",style="dashed", color="red", weight=0]; 7794[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7794 -> 8098[label="",style="dashed", color="magenta", weight=3]; 7794 -> 8099[label="",style="dashed", color="magenta", weight=3]; 7795[label="Zero",fontsize=16,color="green",shape="box"];7799 -> 7480[label="",style="dashed", color="red", weight=0]; 7799[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7799 -> 8100[label="",style="dashed", color="magenta", weight=3]; 7799 -> 8101[label="",style="dashed", color="magenta", weight=3]; 7800 -> 7480[label="",style="dashed", color="red", weight=0]; 7800[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7800 -> 8102[label="",style="dashed", color="magenta", weight=3]; 7800 -> 8103[label="",style="dashed", color="magenta", weight=3]; 7814 -> 7480[label="",style="dashed", color="red", weight=0]; 7814[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7814 -> 8104[label="",style="dashed", color="magenta", weight=3]; 7814 -> 8105[label="",style="dashed", color="magenta", weight=3]; 7815 -> 7480[label="",style="dashed", color="red", weight=0]; 7815[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7815 -> 8106[label="",style="dashed", color="magenta", weight=3]; 7815 -> 8107[label="",style="dashed", color="magenta", weight=3]; 7816 -> 7480[label="",style="dashed", color="red", weight=0]; 7816[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7816 -> 8108[label="",style="dashed", color="magenta", weight=3]; 7816 -> 8109[label="",style="dashed", color="magenta", weight=3]; 7817 -> 7480[label="",style="dashed", color="red", weight=0]; 7817[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7817 -> 8110[label="",style="dashed", color="magenta", weight=3]; 7817 -> 8111[label="",style="dashed", color="magenta", weight=3]; 7818 -> 8302[label="",style="dashed", color="red", weight=0]; 7818[label="primQuotInt (Neg vuz446) (gcd2 (Neg vuz447 == fromInt (Pos Zero)) (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7818 -> 8303[label="",style="dashed", color="magenta", weight=3]; 7819 -> 7480[label="",style="dashed", color="red", weight=0]; 7819[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7819 -> 8113[label="",style="dashed", color="magenta", weight=3]; 7819 -> 8114[label="",style="dashed", color="magenta", weight=3]; 7820 -> 7480[label="",style="dashed", color="red", weight=0]; 7820[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7820 -> 8115[label="",style="dashed", color="magenta", weight=3]; 7820 -> 8116[label="",style="dashed", color="magenta", weight=3]; 7821 -> 7480[label="",style="dashed", color="red", weight=0]; 7821[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7821 -> 8117[label="",style="dashed", color="magenta", weight=3]; 7821 -> 8118[label="",style="dashed", color="magenta", weight=3]; 7822 -> 7480[label="",style="dashed", color="red", weight=0]; 7822[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7822 -> 8119[label="",style="dashed", color="magenta", weight=3]; 7822 -> 8120[label="",style="dashed", color="magenta", weight=3]; 7823 -> 8308[label="",style="dashed", color="red", weight=0]; 7823[label="primQuotInt (Neg vuz348) (gcd2 (Neg vuz349 == fromInt (Pos Zero)) (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];7823 -> 8309[label="",style="dashed", color="magenta", weight=3]; 7825 -> 7571[label="",style="dashed", color="red", weight=0]; 7825[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7825 -> 8122[label="",style="dashed", color="magenta", weight=3]; 7825 -> 8123[label="",style="dashed", color="magenta", weight=3]; 7826 -> 7571[label="",style="dashed", color="red", weight=0]; 7826[label="primPlusNat (primMulNat vuz31800 (Succ vuz31900)) (Succ vuz31900)",fontsize=16,color="magenta"];7826 -> 8124[label="",style="dashed", color="magenta", weight=3]; 7826 -> 8125[label="",style="dashed", color="magenta", weight=3]; 7827 -> 7480[label="",style="dashed", color="red", weight=0]; 7827[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7827 -> 8126[label="",style="dashed", color="magenta", weight=3]; 7827 -> 8127[label="",style="dashed", color="magenta", weight=3]; 7828 -> 7480[label="",style="dashed", color="red", weight=0]; 7828[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7828 -> 8128[label="",style="dashed", color="magenta", weight=3]; 7828 -> 8129[label="",style="dashed", color="magenta", weight=3]; 7824[label="primQuotInt (primMinusNat vuz449 vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10971[label="vuz449/Succ vuz4490",fontsize=10,color="white",style="solid",shape="box"];7824 -> 10971[label="",style="solid", color="burlywood", weight=9]; 10971 -> 8130[label="",style="solid", color="burlywood", weight=3]; 10972[label="vuz449/Zero",fontsize=10,color="white",style="solid",shape="box"];7824 -> 10972[label="",style="solid", color="burlywood", weight=9]; 10972 -> 8131[label="",style="solid", color="burlywood", weight=3]; 7834 -> 7480[label="",style="dashed", color="red", weight=0]; 7834[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7834 -> 8132[label="",style="dashed", color="magenta", weight=3]; 7834 -> 8133[label="",style="dashed", color="magenta", weight=3]; 7835 -> 7480[label="",style="dashed", color="red", weight=0]; 7835[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7835 -> 8134[label="",style="dashed", color="magenta", weight=3]; 7835 -> 8135[label="",style="dashed", color="magenta", weight=3]; 7833[label="primQuotInt (primMinusNat Zero vuz454) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10973[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7833 -> 10973[label="",style="solid", color="burlywood", weight=9]; 10973 -> 8136[label="",style="solid", color="burlywood", weight=3]; 10974[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7833 -> 10974[label="",style="solid", color="burlywood", weight=9]; 10974 -> 8137[label="",style="solid", color="burlywood", weight=3]; 7829[label="Zero",fontsize=16,color="green",shape="box"];7830[label="Zero",fontsize=16,color="green",shape="box"];7831 -> 7480[label="",style="dashed", color="red", weight=0]; 7831[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7831 -> 8138[label="",style="dashed", color="magenta", weight=3]; 7831 -> 8139[label="",style="dashed", color="magenta", weight=3]; 7832 -> 7480[label="",style="dashed", color="red", weight=0]; 7832[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7832 -> 8140[label="",style="dashed", color="magenta", weight=3]; 7832 -> 8141[label="",style="dashed", color="magenta", weight=3]; 7836 -> 7480[label="",style="dashed", color="red", weight=0]; 7836[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7836 -> 8142[label="",style="dashed", color="magenta", weight=3]; 7836 -> 8143[label="",style="dashed", color="magenta", weight=3]; 7837 -> 7480[label="",style="dashed", color="red", weight=0]; 7837[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7837 -> 8144[label="",style="dashed", color="magenta", weight=3]; 7837 -> 8145[label="",style="dashed", color="magenta", weight=3]; 7838 -> 7480[label="",style="dashed", color="red", weight=0]; 7838[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7838 -> 8146[label="",style="dashed", color="magenta", weight=3]; 7838 -> 8147[label="",style="dashed", color="magenta", weight=3]; 7839 -> 7480[label="",style="dashed", color="red", weight=0]; 7839[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7839 -> 8148[label="",style="dashed", color="magenta", weight=3]; 7839 -> 8149[label="",style="dashed", color="magenta", weight=3]; 7840 -> 7480[label="",style="dashed", color="red", weight=0]; 7840[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7840 -> 8150[label="",style="dashed", color="magenta", weight=3]; 7840 -> 8151[label="",style="dashed", color="magenta", weight=3]; 7841 -> 7480[label="",style="dashed", color="red", weight=0]; 7841[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7841 -> 8152[label="",style="dashed", color="magenta", weight=3]; 7841 -> 8153[label="",style="dashed", color="magenta", weight=3]; 7842 -> 8324[label="",style="dashed", color="red", weight=0]; 7842[label="primQuotInt (Pos vuz354) (gcd2 (Pos vuz355 == fromInt (Pos Zero)) (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7842 -> 8325[label="",style="dashed", color="magenta", weight=3]; 7844 -> 7571[label="",style="dashed", color="red", weight=0]; 7844[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7844 -> 8155[label="",style="dashed", color="magenta", weight=3]; 7844 -> 8156[label="",style="dashed", color="magenta", weight=3]; 7845 -> 7480[label="",style="dashed", color="red", weight=0]; 7845[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7845 -> 8157[label="",style="dashed", color="magenta", weight=3]; 7845 -> 8158[label="",style="dashed", color="magenta", weight=3]; 7846 -> 7480[label="",style="dashed", color="red", weight=0]; 7846[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7846 -> 8159[label="",style="dashed", color="magenta", weight=3]; 7846 -> 8160[label="",style="dashed", color="magenta", weight=3]; 7847 -> 7571[label="",style="dashed", color="red", weight=0]; 7847[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7847 -> 8161[label="",style="dashed", color="magenta", weight=3]; 7847 -> 8162[label="",style="dashed", color="magenta", weight=3]; 7843[label="primQuotInt (primMinusNat vuz457 vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10975[label="vuz457/Succ vuz4570",fontsize=10,color="white",style="solid",shape="box"];7843 -> 10975[label="",style="solid", color="burlywood", weight=9]; 10975 -> 8163[label="",style="solid", color="burlywood", weight=3]; 10976[label="vuz457/Zero",fontsize=10,color="white",style="solid",shape="box"];7843 -> 10976[label="",style="solid", color="burlywood", weight=9]; 10976 -> 8164[label="",style="solid", color="burlywood", weight=3]; 7853 -> 7480[label="",style="dashed", color="red", weight=0]; 7853[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7853 -> 8165[label="",style="dashed", color="magenta", weight=3]; 7853 -> 8166[label="",style="dashed", color="magenta", weight=3]; 7854 -> 7480[label="",style="dashed", color="red", weight=0]; 7854[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7854 -> 8167[label="",style="dashed", color="magenta", weight=3]; 7854 -> 8168[label="",style="dashed", color="magenta", weight=3]; 7852[label="primQuotInt (primMinusNat Zero vuz462) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];10977[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7852 -> 10977[label="",style="solid", color="burlywood", weight=9]; 10977 -> 8169[label="",style="solid", color="burlywood", weight=3]; 10978[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7852 -> 10978[label="",style="solid", color="burlywood", weight=9]; 10978 -> 8170[label="",style="solid", color="burlywood", weight=3]; 7848[label="Zero",fontsize=16,color="green",shape="box"];7849 -> 7480[label="",style="dashed", color="red", weight=0]; 7849[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7849 -> 8171[label="",style="dashed", color="magenta", weight=3]; 7849 -> 8172[label="",style="dashed", color="magenta", weight=3]; 7850 -> 7480[label="",style="dashed", color="red", weight=0]; 7850[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7850 -> 8173[label="",style="dashed", color="magenta", weight=3]; 7850 -> 8174[label="",style="dashed", color="magenta", weight=3]; 7851[label="Zero",fontsize=16,color="green",shape="box"];7855 -> 7480[label="",style="dashed", color="red", weight=0]; 7855[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7855 -> 8175[label="",style="dashed", color="magenta", weight=3]; 7855 -> 8176[label="",style="dashed", color="magenta", weight=3]; 7856 -> 7480[label="",style="dashed", color="red", weight=0]; 7856[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7856 -> 8177[label="",style="dashed", color="magenta", weight=3]; 7856 -> 8178[label="",style="dashed", color="magenta", weight=3]; 7858 -> 7571[label="",style="dashed", color="red", weight=0]; 7858[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7858 -> 8179[label="",style="dashed", color="magenta", weight=3]; 7858 -> 8180[label="",style="dashed", color="magenta", weight=3]; 7859 -> 7480[label="",style="dashed", color="red", weight=0]; 7859[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7859 -> 8181[label="",style="dashed", color="magenta", weight=3]; 7859 -> 8182[label="",style="dashed", color="magenta", weight=3]; 7860 -> 7480[label="",style="dashed", color="red", weight=0]; 7860[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7860 -> 8183[label="",style="dashed", color="magenta", weight=3]; 7860 -> 8184[label="",style="dashed", color="magenta", weight=3]; 7861 -> 7571[label="",style="dashed", color="red", weight=0]; 7861[label="primPlusNat (primMulNat vuz31600 (Succ vuz31700)) (Succ vuz31700)",fontsize=16,color="magenta"];7861 -> 8185[label="",style="dashed", color="magenta", weight=3]; 7861 -> 8186[label="",style="dashed", color="magenta", weight=3]; 7857[label="primQuotInt (primMinusNat vuz465 vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="triangle"];10979[label="vuz465/Succ vuz4650",fontsize=10,color="white",style="solid",shape="box"];7857 -> 10979[label="",style="solid", color="burlywood", weight=9]; 10979 -> 8187[label="",style="solid", color="burlywood", weight=3]; 10980[label="vuz465/Zero",fontsize=10,color="white",style="solid",shape="box"];7857 -> 10980[label="",style="solid", color="burlywood", weight=9]; 10980 -> 8188[label="",style="solid", color="burlywood", weight=3]; 7867 -> 7480[label="",style="dashed", color="red", weight=0]; 7867[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7867 -> 8189[label="",style="dashed", color="magenta", weight=3]; 7867 -> 8190[label="",style="dashed", color="magenta", weight=3]; 7868 -> 7480[label="",style="dashed", color="red", weight=0]; 7868[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7868 -> 8191[label="",style="dashed", color="magenta", weight=3]; 7868 -> 8192[label="",style="dashed", color="magenta", weight=3]; 7866[label="primQuotInt (primMinusNat Zero vuz470) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];10981[label="vuz470/Succ vuz4700",fontsize=10,color="white",style="solid",shape="box"];7866 -> 10981[label="",style="solid", color="burlywood", weight=9]; 10981 -> 8193[label="",style="solid", color="burlywood", weight=3]; 10982[label="vuz470/Zero",fontsize=10,color="white",style="solid",shape="box"];7866 -> 10982[label="",style="solid", color="burlywood", weight=9]; 10982 -> 8194[label="",style="solid", color="burlywood", weight=3]; 7862[label="Zero",fontsize=16,color="green",shape="box"];7863 -> 7480[label="",style="dashed", color="red", weight=0]; 7863[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7863 -> 8195[label="",style="dashed", color="magenta", weight=3]; 7863 -> 8196[label="",style="dashed", color="magenta", weight=3]; 7864 -> 7480[label="",style="dashed", color="red", weight=0]; 7864[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7864 -> 8197[label="",style="dashed", color="magenta", weight=3]; 7864 -> 8198[label="",style="dashed", color="magenta", weight=3]; 7865[label="Zero",fontsize=16,color="green",shape="box"];7869 -> 7480[label="",style="dashed", color="red", weight=0]; 7869[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7869 -> 8199[label="",style="dashed", color="magenta", weight=3]; 7869 -> 8200[label="",style="dashed", color="magenta", weight=3]; 7870 -> 7480[label="",style="dashed", color="red", weight=0]; 7870[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7870 -> 8201[label="",style="dashed", color="magenta", weight=3]; 7870 -> 8202[label="",style="dashed", color="magenta", weight=3]; 7871 -> 7480[label="",style="dashed", color="red", weight=0]; 7871[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7871 -> 8203[label="",style="dashed", color="magenta", weight=3]; 7871 -> 8204[label="",style="dashed", color="magenta", weight=3]; 7872 -> 7480[label="",style="dashed", color="red", weight=0]; 7872[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7872 -> 8205[label="",style="dashed", color="magenta", weight=3]; 7872 -> 8206[label="",style="dashed", color="magenta", weight=3]; 7873 -> 7480[label="",style="dashed", color="red", weight=0]; 7873[label="primMulNat vuz3160 vuz3170",fontsize=16,color="magenta"];7873 -> 8207[label="",style="dashed", color="magenta", weight=3]; 7873 -> 8208[label="",style="dashed", color="magenta", weight=3]; 7874 -> 7480[label="",style="dashed", color="red", weight=0]; 7874[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];7874 -> 8209[label="",style="dashed", color="magenta", weight=3]; 7874 -> 8210[label="",style="dashed", color="magenta", weight=3]; 7875 -> 8350[label="",style="dashed", color="red", weight=0]; 7875[label="primQuotInt (Pos vuz360) (gcd2 (Pos vuz361 == fromInt (Pos Zero)) (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];7875 -> 8351[label="",style="dashed", color="magenta", weight=3]; 7876[label="vuz3190",fontsize=16,color="green",shape="box"];7877[label="vuz3170",fontsize=16,color="green",shape="box"];7878[label="vuz3160",fontsize=16,color="green",shape="box"];7879[label="vuz3170",fontsize=16,color="green",shape="box"];7880[label="vuz3160",fontsize=16,color="green",shape="box"];7881[label="vuz3170",fontsize=16,color="green",shape="box"];7882[label="vuz3190",fontsize=16,color="green",shape="box"];7883[label="vuz3170",fontsize=16,color="green",shape="box"];7884[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt vuz318 (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];10983[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7884 -> 10983[label="",style="solid", color="burlywood", weight=9]; 10983 -> 8212[label="",style="solid", color="burlywood", weight=3]; 10984[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7884 -> 10984[label="",style="solid", color="burlywood", weight=9]; 10984 -> 8213[label="",style="solid", color="burlywood", weight=3]; 7885[label="vuz3160",fontsize=16,color="green",shape="box"];7886[label="vuz3170",fontsize=16,color="green",shape="box"];7887[label="vuz3160",fontsize=16,color="green",shape="box"];7888[label="vuz3170",fontsize=16,color="green",shape="box"];7889[label="vuz3190",fontsize=16,color="green",shape="box"];7890[label="vuz3170",fontsize=16,color="green",shape="box"];7891[label="vuz3190",fontsize=16,color="green",shape="box"];7892[label="vuz3170",fontsize=16,color="green",shape="box"];7893[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt vuz318 (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="burlywood",shape="box"];10985[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7893 -> 10985[label="",style="solid", color="burlywood", weight=9]; 10985 -> 8214[label="",style="solid", color="burlywood", weight=3]; 10986[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7893 -> 10986[label="",style="solid", color="burlywood", weight=9]; 10986 -> 8215[label="",style="solid", color="burlywood", weight=3]; 7894[label="vuz3190",fontsize=16,color="green",shape="box"];7895[label="vuz3170",fontsize=16,color="green",shape="box"];7896[label="vuz3160",fontsize=16,color="green",shape="box"];7897[label="vuz3170",fontsize=16,color="green",shape="box"];7898[label="vuz3190",fontsize=16,color="green",shape="box"];7899[label="vuz3170",fontsize=16,color="green",shape="box"];7900[label="vuz3160",fontsize=16,color="green",shape="box"];7901[label="vuz3170",fontsize=16,color="green",shape="box"];7902[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt vuz318 (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];10987[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7902 -> 10987[label="",style="solid", color="burlywood", weight=9]; 10987 -> 8216[label="",style="solid", color="burlywood", weight=3]; 10988[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7902 -> 10988[label="",style="solid", color="burlywood", weight=9]; 10988 -> 8217[label="",style="solid", color="burlywood", weight=3]; 7903[label="vuz3190",fontsize=16,color="green",shape="box"];7904[label="vuz3170",fontsize=16,color="green",shape="box"];7905[label="vuz3160",fontsize=16,color="green",shape="box"];7906[label="vuz3170",fontsize=16,color="green",shape="box"];7907[label="vuz3160",fontsize=16,color="green",shape="box"];7908[label="vuz3170",fontsize=16,color="green",shape="box"];7909[label="vuz3190",fontsize=16,color="green",shape="box"];7910[label="vuz3170",fontsize=16,color="green",shape="box"];7911[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt vuz318 (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt vuz318 (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="burlywood",shape="box"];10989[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7911 -> 10989[label="",style="solid", color="burlywood", weight=9]; 10989 -> 8218[label="",style="solid", color="burlywood", weight=3]; 10990[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7911 -> 10990[label="",style="solid", color="burlywood", weight=9]; 10990 -> 8219[label="",style="solid", color="burlywood", weight=3]; 7912[label="vuz3190",fontsize=16,color="green",shape="box"];7913[label="vuz3170",fontsize=16,color="green",shape="box"];7914[label="vuz3190",fontsize=16,color="green",shape="box"];7915[label="vuz3170",fontsize=16,color="green",shape="box"];7916[label="vuz3160",fontsize=16,color="green",shape="box"];7917[label="vuz3170",fontsize=16,color="green",shape="box"];7918[label="vuz3160",fontsize=16,color="green",shape="box"];7919[label="vuz3170",fontsize=16,color="green",shape="box"];7920[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt vuz318 (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="burlywood",shape="box"];10991[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7920 -> 10991[label="",style="solid", color="burlywood", weight=9]; 10991 -> 8220[label="",style="solid", color="burlywood", weight=3]; 10992[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7920 -> 10992[label="",style="solid", color="burlywood", weight=9]; 10992 -> 8221[label="",style="solid", color="burlywood", weight=3]; 7921[label="vuz3190",fontsize=16,color="green",shape="box"];7922[label="vuz3170",fontsize=16,color="green",shape="box"];7923[label="vuz3160",fontsize=16,color="green",shape="box"];7924[label="vuz3170",fontsize=16,color="green",shape="box"];7925[label="vuz3160",fontsize=16,color="green",shape="box"];7926[label="vuz3170",fontsize=16,color="green",shape="box"];7927[label="vuz3190",fontsize=16,color="green",shape="box"];7928[label="vuz3170",fontsize=16,color="green",shape="box"];7929[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt vuz318 (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="burlywood",shape="box"];10993[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7929 -> 10993[label="",style="solid", color="burlywood", weight=9]; 10993 -> 8222[label="",style="solid", color="burlywood", weight=3]; 10994[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7929 -> 10994[label="",style="solid", color="burlywood", weight=9]; 10994 -> 8223[label="",style="solid", color="burlywood", weight=3]; 7930[label="vuz3190",fontsize=16,color="green",shape="box"];7931[label="vuz3170",fontsize=16,color="green",shape="box"];7932[label="vuz3160",fontsize=16,color="green",shape="box"];7933[label="vuz3170",fontsize=16,color="green",shape="box"];7934[label="vuz3160",fontsize=16,color="green",shape="box"];7935[label="vuz3170",fontsize=16,color="green",shape="box"];7936[label="vuz3190",fontsize=16,color="green",shape="box"];7937[label="vuz3170",fontsize=16,color="green",shape="box"];7938[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt vuz318 (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="burlywood",shape="box"];10995[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7938 -> 10995[label="",style="solid", color="burlywood", weight=9]; 10995 -> 8224[label="",style="solid", color="burlywood", weight=3]; 10996[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7938 -> 10996[label="",style="solid", color="burlywood", weight=9]; 10996 -> 8225[label="",style="solid", color="burlywood", weight=3]; 7939[label="vuz3190",fontsize=16,color="green",shape="box"];7940[label="vuz3170",fontsize=16,color="green",shape="box"];7941[label="vuz3160",fontsize=16,color="green",shape="box"];7942[label="vuz3170",fontsize=16,color="green",shape="box"];7943[label="vuz3190",fontsize=16,color="green",shape="box"];7944[label="vuz3170",fontsize=16,color="green",shape="box"];7945[label="vuz3160",fontsize=16,color="green",shape="box"];7946[label="vuz3170",fontsize=16,color="green",shape="box"];7947[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt vuz318 (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt vuz318 (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="burlywood",shape="box"];10997[label="vuz318/Pos vuz3180",fontsize=10,color="white",style="solid",shape="box"];7947 -> 10997[label="",style="solid", color="burlywood", weight=9]; 10997 -> 8226[label="",style="solid", color="burlywood", weight=3]; 10998[label="vuz318/Neg vuz3180",fontsize=10,color="white",style="solid",shape="box"];7947 -> 10998[label="",style="solid", color="burlywood", weight=9]; 10998 -> 8227[label="",style="solid", color="burlywood", weight=3]; 7948[label="vuz3160",fontsize=16,color="green",shape="box"];7949[label="vuz3170",fontsize=16,color="green",shape="box"];7950[label="vuz3180",fontsize=16,color="green",shape="box"];7951[label="vuz3190",fontsize=16,color="green",shape="box"];7952[label="vuz3160",fontsize=16,color="green",shape="box"];7953[label="vuz3170",fontsize=16,color="green",shape="box"];7954[label="vuz3180",fontsize=16,color="green",shape="box"];7955[label="vuz3190",fontsize=16,color="green",shape="box"];8229 -> 9987[label="",style="dashed", color="red", weight=0]; 8229[label="Pos vuz399 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8229 -> 9989[label="",style="dashed", color="magenta", weight=3]; 8228[label="primQuotInt (Pos vuz398) (gcd2 vuz472 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];10999[label="vuz472/False",fontsize=10,color="white",style="solid",shape="box"];8228 -> 10999[label="",style="solid", color="burlywood", weight=9]; 10999 -> 8232[label="",style="solid", color="burlywood", weight=3]; 11000[label="vuz472/True",fontsize=10,color="white",style="solid",shape="box"];8228 -> 11000[label="",style="solid", color="burlywood", weight=9]; 11000 -> 8233[label="",style="solid", color="burlywood", weight=3]; 7957[label="vuz3180",fontsize=16,color="green",shape="box"];7958[label="vuz3190",fontsize=16,color="green",shape="box"];7959 -> 7480[label="",style="dashed", color="red", weight=0]; 7959[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7959 -> 8234[label="",style="dashed", color="magenta", weight=3]; 7959 -> 8235[label="",style="dashed", color="magenta", weight=3]; 7960[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7961 -> 7480[label="",style="dashed", color="red", weight=0]; 7961[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7961 -> 8236[label="",style="dashed", color="magenta", weight=3]; 7961 -> 8237[label="",style="dashed", color="magenta", weight=3]; 7962[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7963[label="vuz3180",fontsize=16,color="green",shape="box"];7964[label="vuz3190",fontsize=16,color="green",shape="box"];7965[label="primQuotInt (primMinusNat (Succ vuz4010) vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11001[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];7965 -> 11001[label="",style="solid", color="burlywood", weight=9]; 11001 -> 8238[label="",style="solid", color="burlywood", weight=3]; 11002[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];7965 -> 11002[label="",style="solid", color="burlywood", weight=9]; 11002 -> 8239[label="",style="solid", color="burlywood", weight=3]; 7966[label="primQuotInt (primMinusNat Zero vuz400) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11003[label="vuz400/Succ vuz4000",fontsize=10,color="white",style="solid",shape="box"];7966 -> 11003[label="",style="solid", color="burlywood", weight=9]; 11003 -> 8240[label="",style="solid", color="burlywood", weight=3]; 11004[label="vuz400/Zero",fontsize=10,color="white",style="solid",shape="box"];7966 -> 11004[label="",style="solid", color="burlywood", weight=9]; 11004 -> 8241[label="",style="solid", color="burlywood", weight=3]; 7967[label="vuz3180",fontsize=16,color="green",shape="box"];7968[label="vuz3190",fontsize=16,color="green",shape="box"];7969[label="vuz3180",fontsize=16,color="green",shape="box"];7970[label="vuz3190",fontsize=16,color="green",shape="box"];7971[label="primQuotInt (primMinusNat Zero (Succ vuz4060)) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7971 -> 8242[label="",style="solid", color="black", weight=3]; 7972[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz407) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7972 -> 8243[label="",style="solid", color="black", weight=3]; 7973[label="vuz3180",fontsize=16,color="green",shape="box"];7974[label="vuz3190",fontsize=16,color="green",shape="box"];7975[label="vuz3180",fontsize=16,color="green",shape="box"];7976[label="vuz3190",fontsize=16,color="green",shape="box"];7977[label="vuz3180",fontsize=16,color="green",shape="box"];7978[label="vuz3190",fontsize=16,color="green",shape="box"];7979[label="vuz3180",fontsize=16,color="green",shape="box"];7980[label="vuz3190",fontsize=16,color="green",shape="box"];7981 -> 7480[label="",style="dashed", color="red", weight=0]; 7981[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7981 -> 8244[label="",style="dashed", color="magenta", weight=3]; 7981 -> 8245[label="",style="dashed", color="magenta", weight=3]; 7982[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7983[label="vuz3180",fontsize=16,color="green",shape="box"];7984[label="vuz3190",fontsize=16,color="green",shape="box"];7985 -> 7480[label="",style="dashed", color="red", weight=0]; 7985[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];7985 -> 8246[label="",style="dashed", color="magenta", weight=3]; 7985 -> 8247[label="",style="dashed", color="magenta", weight=3]; 7986[label="Succ vuz31700",fontsize=16,color="green",shape="box"];7987[label="vuz3180",fontsize=16,color="green",shape="box"];7988[label="vuz3190",fontsize=16,color="green",shape="box"];7989[label="primQuotInt (primMinusNat (Succ vuz4090) vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11005[label="vuz408/Succ vuz4080",fontsize=10,color="white",style="solid",shape="box"];7989 -> 11005[label="",style="solid", color="burlywood", weight=9]; 11005 -> 8248[label="",style="solid", color="burlywood", weight=3]; 11006[label="vuz408/Zero",fontsize=10,color="white",style="solid",shape="box"];7989 -> 11006[label="",style="solid", color="burlywood", weight=9]; 11006 -> 8249[label="",style="solid", color="burlywood", weight=3]; 7990[label="primQuotInt (primMinusNat Zero vuz408) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11007[label="vuz408/Succ vuz4080",fontsize=10,color="white",style="solid",shape="box"];7990 -> 11007[label="",style="solid", color="burlywood", weight=9]; 11007 -> 8250[label="",style="solid", color="burlywood", weight=3]; 11008[label="vuz408/Zero",fontsize=10,color="white",style="solid",shape="box"];7990 -> 11008[label="",style="solid", color="burlywood", weight=9]; 11008 -> 8251[label="",style="solid", color="burlywood", weight=3]; 7991[label="vuz3180",fontsize=16,color="green",shape="box"];7992[label="vuz3190",fontsize=16,color="green",shape="box"];7993[label="vuz3180",fontsize=16,color="green",shape="box"];7994[label="vuz3190",fontsize=16,color="green",shape="box"];7995[label="primQuotInt (primMinusNat Zero (Succ vuz4140)) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7995 -> 8252[label="",style="solid", color="black", weight=3]; 7996[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz415) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];7996 -> 8253[label="",style="solid", color="black", weight=3]; 7997[label="vuz3180",fontsize=16,color="green",shape="box"];7998[label="vuz3190",fontsize=16,color="green",shape="box"];7999[label="vuz3180",fontsize=16,color="green",shape="box"];8000[label="vuz3190",fontsize=16,color="green",shape="box"];8001[label="vuz3180",fontsize=16,color="green",shape="box"];8002[label="vuz3190",fontsize=16,color="green",shape="box"];8003[label="vuz3180",fontsize=16,color="green",shape="box"];8004[label="vuz3190",fontsize=16,color="green",shape="box"];8005[label="vuz3160",fontsize=16,color="green",shape="box"];8006[label="vuz3170",fontsize=16,color="green",shape="box"];8007[label="vuz3180",fontsize=16,color="green",shape="box"];8008[label="vuz3190",fontsize=16,color="green",shape="box"];8009[label="vuz3160",fontsize=16,color="green",shape="box"];8010[label="vuz3170",fontsize=16,color="green",shape="box"];8011[label="vuz3180",fontsize=16,color="green",shape="box"];8012[label="vuz3190",fontsize=16,color="green",shape="box"];8255 -> 9987[label="",style="dashed", color="red", weight=0]; 8255[label="Pos vuz417 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8255 -> 9990[label="",style="dashed", color="magenta", weight=3]; 8254[label="primQuotInt (Pos vuz416) (gcd2 vuz473 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11009[label="vuz473/False",fontsize=10,color="white",style="solid",shape="box"];8254 -> 11009[label="",style="solid", color="burlywood", weight=9]; 11009 -> 8258[label="",style="solid", color="burlywood", weight=3]; 11010[label="vuz473/True",fontsize=10,color="white",style="solid",shape="box"];8254 -> 11010[label="",style="solid", color="burlywood", weight=9]; 11010 -> 8259[label="",style="solid", color="burlywood", weight=3]; 8014[label="vuz3160",fontsize=16,color="green",shape="box"];8015[label="vuz3170",fontsize=16,color="green",shape="box"];8016 -> 7480[label="",style="dashed", color="red", weight=0]; 8016[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8016 -> 8260[label="",style="dashed", color="magenta", weight=3]; 8016 -> 8261[label="",style="dashed", color="magenta", weight=3]; 8017[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8018[label="vuz3160",fontsize=16,color="green",shape="box"];8019[label="vuz3170",fontsize=16,color="green",shape="box"];8020 -> 7480[label="",style="dashed", color="red", weight=0]; 8020[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8020 -> 8262[label="",style="dashed", color="magenta", weight=3]; 8020 -> 8263[label="",style="dashed", color="magenta", weight=3]; 8021[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8022[label="primQuotInt (primMinusNat (Succ vuz4190) vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11011[label="vuz418/Succ vuz4180",fontsize=10,color="white",style="solid",shape="box"];8022 -> 11011[label="",style="solid", color="burlywood", weight=9]; 11011 -> 8264[label="",style="solid", color="burlywood", weight=3]; 11012[label="vuz418/Zero",fontsize=10,color="white",style="solid",shape="box"];8022 -> 11012[label="",style="solid", color="burlywood", weight=9]; 11012 -> 8265[label="",style="solid", color="burlywood", weight=3]; 8023[label="primQuotInt (primMinusNat Zero vuz418) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11013[label="vuz418/Succ vuz4180",fontsize=10,color="white",style="solid",shape="box"];8023 -> 11013[label="",style="solid", color="burlywood", weight=9]; 11013 -> 8266[label="",style="solid", color="burlywood", weight=3]; 11014[label="vuz418/Zero",fontsize=10,color="white",style="solid",shape="box"];8023 -> 11014[label="",style="solid", color="burlywood", weight=9]; 11014 -> 8267[label="",style="solid", color="burlywood", weight=3]; 8024[label="vuz3160",fontsize=16,color="green",shape="box"];8025[label="vuz3170",fontsize=16,color="green",shape="box"];8026[label="vuz3160",fontsize=16,color="green",shape="box"];8027[label="vuz3170",fontsize=16,color="green",shape="box"];8028[label="primQuotInt (primMinusNat Zero (Succ vuz4240)) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8028 -> 8268[label="",style="solid", color="black", weight=3]; 8029[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz425) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8029 -> 8269[label="",style="solid", color="black", weight=3]; 8030[label="vuz3160",fontsize=16,color="green",shape="box"];8031[label="vuz3170",fontsize=16,color="green",shape="box"];8032[label="vuz3160",fontsize=16,color="green",shape="box"];8033[label="vuz3170",fontsize=16,color="green",shape="box"];8034[label="vuz3160",fontsize=16,color="green",shape="box"];8035[label="vuz3170",fontsize=16,color="green",shape="box"];8036[label="vuz3160",fontsize=16,color="green",shape="box"];8037[label="vuz3170",fontsize=16,color="green",shape="box"];8038[label="vuz3160",fontsize=16,color="green",shape="box"];8039[label="vuz3170",fontsize=16,color="green",shape="box"];8040[label="vuz3180",fontsize=16,color="green",shape="box"];8041[label="vuz3190",fontsize=16,color="green",shape="box"];8042[label="vuz3160",fontsize=16,color="green",shape="box"];8043[label="vuz3170",fontsize=16,color="green",shape="box"];8044[label="vuz3180",fontsize=16,color="green",shape="box"];8045[label="vuz3190",fontsize=16,color="green",shape="box"];8271 -> 9987[label="",style="dashed", color="red", weight=0]; 8271[label="Neg vuz427 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8271 -> 9991[label="",style="dashed", color="magenta", weight=3]; 8270[label="primQuotInt (Neg vuz426) (gcd2 vuz474 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11015[label="vuz474/False",fontsize=10,color="white",style="solid",shape="box"];8270 -> 11015[label="",style="solid", color="burlywood", weight=9]; 11015 -> 8274[label="",style="solid", color="burlywood", weight=3]; 11016[label="vuz474/True",fontsize=10,color="white",style="solid",shape="box"];8270 -> 11016[label="",style="solid", color="burlywood", weight=9]; 11016 -> 8275[label="",style="solid", color="burlywood", weight=3]; 8047[label="vuz3160",fontsize=16,color="green",shape="box"];8048[label="vuz3170",fontsize=16,color="green",shape="box"];8049[label="vuz3180",fontsize=16,color="green",shape="box"];8050[label="vuz3190",fontsize=16,color="green",shape="box"];8051[label="vuz3160",fontsize=16,color="green",shape="box"];8052[label="vuz3170",fontsize=16,color="green",shape="box"];8053[label="vuz3180",fontsize=16,color="green",shape="box"];8054[label="vuz3190",fontsize=16,color="green",shape="box"];8277 -> 9987[label="",style="dashed", color="red", weight=0]; 8277[label="Neg vuz429 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8277 -> 9992[label="",style="dashed", color="magenta", weight=3]; 8276[label="primQuotInt (Neg vuz428) (gcd2 vuz475 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11017[label="vuz475/False",fontsize=10,color="white",style="solid",shape="box"];8276 -> 11017[label="",style="solid", color="burlywood", weight=9]; 11017 -> 8280[label="",style="solid", color="burlywood", weight=3]; 11018[label="vuz475/True",fontsize=10,color="white",style="solid",shape="box"];8276 -> 11018[label="",style="solid", color="burlywood", weight=9]; 11018 -> 8281[label="",style="solid", color="burlywood", weight=3]; 8056 -> 7480[label="",style="dashed", color="red", weight=0]; 8056[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8056 -> 8282[label="",style="dashed", color="magenta", weight=3]; 8056 -> 8283[label="",style="dashed", color="magenta", weight=3]; 8057[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8058[label="vuz3160",fontsize=16,color="green",shape="box"];8059[label="vuz3170",fontsize=16,color="green",shape="box"];8060[label="vuz3160",fontsize=16,color="green",shape="box"];8061[label="vuz3170",fontsize=16,color="green",shape="box"];8062 -> 7480[label="",style="dashed", color="red", weight=0]; 8062[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8062 -> 8284[label="",style="dashed", color="magenta", weight=3]; 8062 -> 8285[label="",style="dashed", color="magenta", weight=3]; 8063[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8064[label="primQuotInt (primMinusNat (Succ vuz4310) vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11019[label="vuz430/Succ vuz4300",fontsize=10,color="white",style="solid",shape="box"];8064 -> 11019[label="",style="solid", color="burlywood", weight=9]; 11019 -> 8286[label="",style="solid", color="burlywood", weight=3]; 11020[label="vuz430/Zero",fontsize=10,color="white",style="solid",shape="box"];8064 -> 11020[label="",style="solid", color="burlywood", weight=9]; 11020 -> 8287[label="",style="solid", color="burlywood", weight=3]; 8065[label="primQuotInt (primMinusNat Zero vuz430) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="burlywood",shape="box"];11021[label="vuz430/Succ vuz4300",fontsize=10,color="white",style="solid",shape="box"];8065 -> 11021[label="",style="solid", color="burlywood", weight=9]; 11021 -> 8288[label="",style="solid", color="burlywood", weight=3]; 11022[label="vuz430/Zero",fontsize=10,color="white",style="solid",shape="box"];8065 -> 11022[label="",style="solid", color="burlywood", weight=9]; 11022 -> 8289[label="",style="solid", color="burlywood", weight=3]; 8066[label="vuz3160",fontsize=16,color="green",shape="box"];8067[label="vuz3170",fontsize=16,color="green",shape="box"];8068[label="vuz3160",fontsize=16,color="green",shape="box"];8069[label="vuz3170",fontsize=16,color="green",shape="box"];8070[label="primQuotInt (primMinusNat Zero (Succ vuz4360)) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8070 -> 8290[label="",style="solid", color="black", weight=3]; 8071[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz437) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8071 -> 8291[label="",style="solid", color="black", weight=3]; 8072[label="vuz3160",fontsize=16,color="green",shape="box"];8073[label="vuz3170",fontsize=16,color="green",shape="box"];8074[label="vuz3160",fontsize=16,color="green",shape="box"];8075[label="vuz3170",fontsize=16,color="green",shape="box"];8076[label="vuz3160",fontsize=16,color="green",shape="box"];8077[label="vuz3170",fontsize=16,color="green",shape="box"];8078[label="vuz3160",fontsize=16,color="green",shape="box"];8079[label="vuz3170",fontsize=16,color="green",shape="box"];8080 -> 7480[label="",style="dashed", color="red", weight=0]; 8080[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8080 -> 8292[label="",style="dashed", color="magenta", weight=3]; 8080 -> 8293[label="",style="dashed", color="magenta", weight=3]; 8081[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8082[label="vuz3160",fontsize=16,color="green",shape="box"];8083[label="vuz3170",fontsize=16,color="green",shape="box"];8084[label="vuz3160",fontsize=16,color="green",shape="box"];8085[label="vuz3170",fontsize=16,color="green",shape="box"];8086 -> 7480[label="",style="dashed", color="red", weight=0]; 8086[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8086 -> 8294[label="",style="dashed", color="magenta", weight=3]; 8086 -> 8295[label="",style="dashed", color="magenta", weight=3]; 8087[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8088[label="primQuotInt (primMinusNat (Succ vuz4390) vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11023[label="vuz438/Succ vuz4380",fontsize=10,color="white",style="solid",shape="box"];8088 -> 11023[label="",style="solid", color="burlywood", weight=9]; 11023 -> 8296[label="",style="solid", color="burlywood", weight=3]; 11024[label="vuz438/Zero",fontsize=10,color="white",style="solid",shape="box"];8088 -> 11024[label="",style="solid", color="burlywood", weight=9]; 11024 -> 8297[label="",style="solid", color="burlywood", weight=3]; 8089[label="primQuotInt (primMinusNat Zero vuz438) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11025[label="vuz438/Succ vuz4380",fontsize=10,color="white",style="solid",shape="box"];8089 -> 11025[label="",style="solid", color="burlywood", weight=9]; 11025 -> 8298[label="",style="solid", color="burlywood", weight=3]; 11026[label="vuz438/Zero",fontsize=10,color="white",style="solid",shape="box"];8089 -> 11026[label="",style="solid", color="burlywood", weight=9]; 11026 -> 8299[label="",style="solid", color="burlywood", weight=3]; 8090[label="vuz3160",fontsize=16,color="green",shape="box"];8091[label="vuz3170",fontsize=16,color="green",shape="box"];8092[label="vuz3160",fontsize=16,color="green",shape="box"];8093[label="vuz3170",fontsize=16,color="green",shape="box"];8094[label="primQuotInt (primMinusNat Zero (Succ vuz4440)) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8094 -> 8300[label="",style="solid", color="black", weight=3]; 8095[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz445) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8095 -> 8301[label="",style="solid", color="black", weight=3]; 8096[label="vuz3160",fontsize=16,color="green",shape="box"];8097[label="vuz3170",fontsize=16,color="green",shape="box"];8098[label="vuz3160",fontsize=16,color="green",shape="box"];8099[label="vuz3170",fontsize=16,color="green",shape="box"];8100[label="vuz3160",fontsize=16,color="green",shape="box"];8101[label="vuz3170",fontsize=16,color="green",shape="box"];8102[label="vuz3160",fontsize=16,color="green",shape="box"];8103[label="vuz3170",fontsize=16,color="green",shape="box"];8104[label="vuz3160",fontsize=16,color="green",shape="box"];8105[label="vuz3170",fontsize=16,color="green",shape="box"];8106[label="vuz3180",fontsize=16,color="green",shape="box"];8107[label="vuz3190",fontsize=16,color="green",shape="box"];8108[label="vuz3160",fontsize=16,color="green",shape="box"];8109[label="vuz3170",fontsize=16,color="green",shape="box"];8110[label="vuz3180",fontsize=16,color="green",shape="box"];8111[label="vuz3190",fontsize=16,color="green",shape="box"];8303 -> 9987[label="",style="dashed", color="red", weight=0]; 8303[label="Neg vuz447 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8303 -> 9993[label="",style="dashed", color="magenta", weight=3]; 8302[label="primQuotInt (Neg vuz446) (gcd2 vuz476 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11027[label="vuz476/False",fontsize=10,color="white",style="solid",shape="box"];8302 -> 11027[label="",style="solid", color="burlywood", weight=9]; 11027 -> 8306[label="",style="solid", color="burlywood", weight=3]; 11028[label="vuz476/True",fontsize=10,color="white",style="solid",shape="box"];8302 -> 11028[label="",style="solid", color="burlywood", weight=9]; 11028 -> 8307[label="",style="solid", color="burlywood", weight=3]; 8113[label="vuz3160",fontsize=16,color="green",shape="box"];8114[label="vuz3170",fontsize=16,color="green",shape="box"];8115[label="vuz3180",fontsize=16,color="green",shape="box"];8116[label="vuz3190",fontsize=16,color="green",shape="box"];8117[label="vuz3160",fontsize=16,color="green",shape="box"];8118[label="vuz3170",fontsize=16,color="green",shape="box"];8119[label="vuz3180",fontsize=16,color="green",shape="box"];8120[label="vuz3190",fontsize=16,color="green",shape="box"];8309 -> 9987[label="",style="dashed", color="red", weight=0]; 8309[label="Neg vuz349 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8309 -> 9994[label="",style="dashed", color="magenta", weight=3]; 8308[label="primQuotInt (Neg vuz348) (gcd2 vuz477 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11029[label="vuz477/False",fontsize=10,color="white",style="solid",shape="box"];8308 -> 11029[label="",style="solid", color="burlywood", weight=9]; 11029 -> 8312[label="",style="solid", color="burlywood", weight=3]; 11030[label="vuz477/True",fontsize=10,color="white",style="solid",shape="box"];8308 -> 11030[label="",style="solid", color="burlywood", weight=9]; 11030 -> 8313[label="",style="solid", color="burlywood", weight=3]; 8122 -> 7480[label="",style="dashed", color="red", weight=0]; 8122[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8122 -> 8314[label="",style="dashed", color="magenta", weight=3]; 8122 -> 8315[label="",style="dashed", color="magenta", weight=3]; 8123[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8124 -> 7480[label="",style="dashed", color="red", weight=0]; 8124[label="primMulNat vuz31800 (Succ vuz31900)",fontsize=16,color="magenta"];8124 -> 8316[label="",style="dashed", color="magenta", weight=3]; 8124 -> 8317[label="",style="dashed", color="magenta", weight=3]; 8125[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8126[label="vuz3160",fontsize=16,color="green",shape="box"];8127[label="vuz3170",fontsize=16,color="green",shape="box"];8128[label="vuz3160",fontsize=16,color="green",shape="box"];8129[label="vuz3170",fontsize=16,color="green",shape="box"];8130[label="primQuotInt (primMinusNat (Succ vuz4490) vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11031[label="vuz448/Succ vuz4480",fontsize=10,color="white",style="solid",shape="box"];8130 -> 11031[label="",style="solid", color="burlywood", weight=9]; 11031 -> 8318[label="",style="solid", color="burlywood", weight=3]; 11032[label="vuz448/Zero",fontsize=10,color="white",style="solid",shape="box"];8130 -> 11032[label="",style="solid", color="burlywood", weight=9]; 11032 -> 8319[label="",style="solid", color="burlywood", weight=3]; 8131[label="primQuotInt (primMinusNat Zero vuz448) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="burlywood",shape="box"];11033[label="vuz448/Succ vuz4480",fontsize=10,color="white",style="solid",shape="box"];8131 -> 11033[label="",style="solid", color="burlywood", weight=9]; 11033 -> 8320[label="",style="solid", color="burlywood", weight=3]; 11034[label="vuz448/Zero",fontsize=10,color="white",style="solid",shape="box"];8131 -> 11034[label="",style="solid", color="burlywood", weight=9]; 11034 -> 8321[label="",style="solid", color="burlywood", weight=3]; 8132[label="vuz3160",fontsize=16,color="green",shape="box"];8133[label="vuz3170",fontsize=16,color="green",shape="box"];8134[label="vuz3160",fontsize=16,color="green",shape="box"];8135[label="vuz3170",fontsize=16,color="green",shape="box"];8136[label="primQuotInt (primMinusNat Zero (Succ vuz4540)) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8136 -> 8322[label="",style="solid", color="black", weight=3]; 8137[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz455) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8137 -> 8323[label="",style="solid", color="black", weight=3]; 8138[label="vuz3160",fontsize=16,color="green",shape="box"];8139[label="vuz3170",fontsize=16,color="green",shape="box"];8140[label="vuz3160",fontsize=16,color="green",shape="box"];8141[label="vuz3170",fontsize=16,color="green",shape="box"];8142[label="vuz3160",fontsize=16,color="green",shape="box"];8143[label="vuz3170",fontsize=16,color="green",shape="box"];8144[label="vuz3160",fontsize=16,color="green",shape="box"];8145[label="vuz3170",fontsize=16,color="green",shape="box"];8146[label="vuz3160",fontsize=16,color="green",shape="box"];8147[label="vuz3170",fontsize=16,color="green",shape="box"];8148[label="vuz3180",fontsize=16,color="green",shape="box"];8149[label="vuz3190",fontsize=16,color="green",shape="box"];8150[label="vuz3160",fontsize=16,color="green",shape="box"];8151[label="vuz3170",fontsize=16,color="green",shape="box"];8152[label="vuz3180",fontsize=16,color="green",shape="box"];8153[label="vuz3190",fontsize=16,color="green",shape="box"];8325 -> 9987[label="",style="dashed", color="red", weight=0]; 8325[label="Pos vuz355 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8325 -> 9995[label="",style="dashed", color="magenta", weight=3]; 8324[label="primQuotInt (Pos vuz354) (gcd2 vuz478 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11035[label="vuz478/False",fontsize=10,color="white",style="solid",shape="box"];8324 -> 11035[label="",style="solid", color="burlywood", weight=9]; 11035 -> 8328[label="",style="solid", color="burlywood", weight=3]; 11036[label="vuz478/True",fontsize=10,color="white",style="solid",shape="box"];8324 -> 11036[label="",style="solid", color="burlywood", weight=9]; 11036 -> 8329[label="",style="solid", color="burlywood", weight=3]; 8155 -> 7480[label="",style="dashed", color="red", weight=0]; 8155[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8155 -> 8330[label="",style="dashed", color="magenta", weight=3]; 8155 -> 8331[label="",style="dashed", color="magenta", weight=3]; 8156[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8157[label="vuz3180",fontsize=16,color="green",shape="box"];8158[label="vuz3190",fontsize=16,color="green",shape="box"];8159[label="vuz3180",fontsize=16,color="green",shape="box"];8160[label="vuz3190",fontsize=16,color="green",shape="box"];8161 -> 7480[label="",style="dashed", color="red", weight=0]; 8161[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8161 -> 8332[label="",style="dashed", color="magenta", weight=3]; 8161 -> 8333[label="",style="dashed", color="magenta", weight=3]; 8162[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8163[label="primQuotInt (primMinusNat (Succ vuz4570) vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11037[label="vuz456/Succ vuz4560",fontsize=10,color="white",style="solid",shape="box"];8163 -> 11037[label="",style="solid", color="burlywood", weight=9]; 11037 -> 8334[label="",style="solid", color="burlywood", weight=3]; 11038[label="vuz456/Zero",fontsize=10,color="white",style="solid",shape="box"];8163 -> 11038[label="",style="solid", color="burlywood", weight=9]; 11038 -> 8335[label="",style="solid", color="burlywood", weight=3]; 8164[label="primQuotInt (primMinusNat Zero vuz456) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11039[label="vuz456/Succ vuz4560",fontsize=10,color="white",style="solid",shape="box"];8164 -> 11039[label="",style="solid", color="burlywood", weight=9]; 11039 -> 8336[label="",style="solid", color="burlywood", weight=3]; 11040[label="vuz456/Zero",fontsize=10,color="white",style="solid",shape="box"];8164 -> 11040[label="",style="solid", color="burlywood", weight=9]; 11040 -> 8337[label="",style="solid", color="burlywood", weight=3]; 8165[label="vuz3180",fontsize=16,color="green",shape="box"];8166[label="vuz3190",fontsize=16,color="green",shape="box"];8167[label="vuz3180",fontsize=16,color="green",shape="box"];8168[label="vuz3190",fontsize=16,color="green",shape="box"];8169[label="primQuotInt (primMinusNat Zero (Succ vuz4620)) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8169 -> 8338[label="",style="solid", color="black", weight=3]; 8170[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz463) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8170 -> 8339[label="",style="solid", color="black", weight=3]; 8171[label="vuz3180",fontsize=16,color="green",shape="box"];8172[label="vuz3190",fontsize=16,color="green",shape="box"];8173[label="vuz3180",fontsize=16,color="green",shape="box"];8174[label="vuz3190",fontsize=16,color="green",shape="box"];8175[label="vuz3180",fontsize=16,color="green",shape="box"];8176[label="vuz3190",fontsize=16,color="green",shape="box"];8177[label="vuz3180",fontsize=16,color="green",shape="box"];8178[label="vuz3190",fontsize=16,color="green",shape="box"];8179 -> 7480[label="",style="dashed", color="red", weight=0]; 8179[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8179 -> 8340[label="",style="dashed", color="magenta", weight=3]; 8179 -> 8341[label="",style="dashed", color="magenta", weight=3]; 8180[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8181[label="vuz3180",fontsize=16,color="green",shape="box"];8182[label="vuz3190",fontsize=16,color="green",shape="box"];8183[label="vuz3180",fontsize=16,color="green",shape="box"];8184[label="vuz3190",fontsize=16,color="green",shape="box"];8185 -> 7480[label="",style="dashed", color="red", weight=0]; 8185[label="primMulNat vuz31600 (Succ vuz31700)",fontsize=16,color="magenta"];8185 -> 8342[label="",style="dashed", color="magenta", weight=3]; 8185 -> 8343[label="",style="dashed", color="magenta", weight=3]; 8186[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8187[label="primQuotInt (primMinusNat (Succ vuz4650) vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11041[label="vuz464/Succ vuz4640",fontsize=10,color="white",style="solid",shape="box"];8187 -> 11041[label="",style="solid", color="burlywood", weight=9]; 11041 -> 8344[label="",style="solid", color="burlywood", weight=3]; 11042[label="vuz464/Zero",fontsize=10,color="white",style="solid",shape="box"];8187 -> 11042[label="",style="solid", color="burlywood", weight=9]; 11042 -> 8345[label="",style="solid", color="burlywood", weight=3]; 8188[label="primQuotInt (primMinusNat Zero vuz464) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="burlywood",shape="box"];11043[label="vuz464/Succ vuz4640",fontsize=10,color="white",style="solid",shape="box"];8188 -> 11043[label="",style="solid", color="burlywood", weight=9]; 11043 -> 8346[label="",style="solid", color="burlywood", weight=3]; 11044[label="vuz464/Zero",fontsize=10,color="white",style="solid",shape="box"];8188 -> 11044[label="",style="solid", color="burlywood", weight=9]; 11044 -> 8347[label="",style="solid", color="burlywood", weight=3]; 8189[label="vuz3180",fontsize=16,color="green",shape="box"];8190[label="vuz3190",fontsize=16,color="green",shape="box"];8191[label="vuz3180",fontsize=16,color="green",shape="box"];8192[label="vuz3190",fontsize=16,color="green",shape="box"];8193[label="primQuotInt (primMinusNat Zero (Succ vuz4700)) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8193 -> 8348[label="",style="solid", color="black", weight=3]; 8194[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat Zero vuz471) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8194 -> 8349[label="",style="solid", color="black", weight=3]; 8195[label="vuz3180",fontsize=16,color="green",shape="box"];8196[label="vuz3190",fontsize=16,color="green",shape="box"];8197[label="vuz3180",fontsize=16,color="green",shape="box"];8198[label="vuz3190",fontsize=16,color="green",shape="box"];8199[label="vuz3180",fontsize=16,color="green",shape="box"];8200[label="vuz3190",fontsize=16,color="green",shape="box"];8201[label="vuz3180",fontsize=16,color="green",shape="box"];8202[label="vuz3190",fontsize=16,color="green",shape="box"];8203[label="vuz3160",fontsize=16,color="green",shape="box"];8204[label="vuz3170",fontsize=16,color="green",shape="box"];8205[label="vuz3180",fontsize=16,color="green",shape="box"];8206[label="vuz3190",fontsize=16,color="green",shape="box"];8207[label="vuz3160",fontsize=16,color="green",shape="box"];8208[label="vuz3170",fontsize=16,color="green",shape="box"];8209[label="vuz3180",fontsize=16,color="green",shape="box"];8210[label="vuz3190",fontsize=16,color="green",shape="box"];8351 -> 9987[label="",style="dashed", color="red", weight=0]; 8351[label="Pos vuz361 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8351 -> 9996[label="",style="dashed", color="magenta", weight=3]; 8350[label="primQuotInt (Pos vuz360) (gcd2 vuz479 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11045[label="vuz479/False",fontsize=10,color="white",style="solid",shape="box"];8350 -> 11045[label="",style="solid", color="burlywood", weight=9]; 11045 -> 8354[label="",style="solid", color="burlywood", weight=3]; 11046[label="vuz479/True",fontsize=10,color="white",style="solid",shape="box"];8350 -> 11046[label="",style="solid", color="burlywood", weight=9]; 11046 -> 8355[label="",style="solid", color="burlywood", weight=3]; 8212[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="black",shape="box"];8212 -> 8356[label="",style="solid", color="black", weight=3]; 8213[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz367))",fontsize=16,color="black",shape="box"];8213 -> 8357[label="",style="solid", color="black", weight=3]; 8214[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="black",shape="box"];8214 -> 8358[label="",style="solid", color="black", weight=3]; 8215[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Pos vuz371))",fontsize=16,color="black",shape="box"];8215 -> 8359[label="",style="solid", color="black", weight=3]; 8216[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="black",shape="box"];8216 -> 8360[label="",style="solid", color="black", weight=3]; 8217[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Neg vuz375))",fontsize=16,color="black",shape="box"];8217 -> 8361[label="",style="solid", color="black", weight=3]; 8218[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt (Pos vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt (Pos vuz3180) (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="black",shape="box"];8218 -> 8362[label="",style="solid", color="black", weight=3]; 8219[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (primMulInt (Neg vuz3180) (Pos vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (primMulInt (Neg vuz3180) (Pos vuz3190))) (Neg vuz379))",fontsize=16,color="black",shape="box"];8219 -> 8363[label="",style="solid", color="black", weight=3]; 8220[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="black",shape="box"];8220 -> 8364[label="",style="solid", color="black", weight=3]; 8221[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz383))",fontsize=16,color="black",shape="box"];8221 -> 8365[label="",style="solid", color="black", weight=3]; 8222[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="black",shape="box"];8222 -> 8366[label="",style="solid", color="black", weight=3]; 8223[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Neg vuz387))",fontsize=16,color="black",shape="box"];8223 -> 8367[label="",style="solid", color="black", weight=3]; 8224[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="black",shape="box"];8224 -> 8368[label="",style="solid", color="black", weight=3]; 8225[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Pos vuz391))",fontsize=16,color="black",shape="box"];8225 -> 8369[label="",style="solid", color="black", weight=3]; 8226[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt (Pos vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt (Pos vuz3180) (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="black",shape="box"];8226 -> 8370[label="",style="solid", color="black", weight=3]; 8227[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (primMulInt (Neg vuz3180) (Neg vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (primMulInt (Neg vuz3180) (Neg vuz3190))) (Pos vuz395))",fontsize=16,color="black",shape="box"];8227 -> 8371[label="",style="solid", color="black", weight=3]; 9989[label="Pos vuz399",fontsize=16,color="green",shape="box"];8232[label="primQuotInt (Pos vuz398) (gcd2 False (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8232 -> 8373[label="",style="solid", color="black", weight=3]; 8233[label="primQuotInt (Pos vuz398) (gcd2 True (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8233 -> 8374[label="",style="solid", color="black", weight=3]; 8234[label="vuz31600",fontsize=16,color="green",shape="box"];8235[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8236[label="vuz31600",fontsize=16,color="green",shape="box"];8237[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8238[label="primQuotInt (primMinusNat (Succ vuz4010) (Succ vuz4000)) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8238 -> 8375[label="",style="solid", color="black", weight=3]; 8239[label="primQuotInt (primMinusNat (Succ vuz4010) Zero) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8239 -> 8376[label="",style="solid", color="black", weight=3]; 8240[label="primQuotInt (primMinusNat Zero (Succ vuz4000)) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8240 -> 8377[label="",style="solid", color="black", weight=3]; 8241[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz403 vuz402) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8241 -> 8378[label="",style="solid", color="black", weight=3]; 8242[label="primQuotInt (Neg (Succ vuz4060)) (reduce2D (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8242 -> 8379[label="",style="solid", color="black", weight=3]; 8243[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8243 -> 8380[label="",style="solid", color="black", weight=3]; 8244[label="vuz31600",fontsize=16,color="green",shape="box"];8245[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8246[label="vuz31600",fontsize=16,color="green",shape="box"];8247[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8248[label="primQuotInt (primMinusNat (Succ vuz4090) (Succ vuz4080)) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8248 -> 8381[label="",style="solid", color="black", weight=3]; 8249[label="primQuotInt (primMinusNat (Succ vuz4090) Zero) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8249 -> 8382[label="",style="solid", color="black", weight=3]; 8250[label="primQuotInt (primMinusNat Zero (Succ vuz4080)) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8250 -> 8383[label="",style="solid", color="black", weight=3]; 8251[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz411 vuz410) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8251 -> 8384[label="",style="solid", color="black", weight=3]; 8252[label="primQuotInt (Neg (Succ vuz4140)) (reduce2D (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8252 -> 8385[label="",style="solid", color="black", weight=3]; 8253[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8253 -> 8386[label="",style="solid", color="black", weight=3]; 9990[label="Pos vuz417",fontsize=16,color="green",shape="box"];8258[label="primQuotInt (Pos vuz416) (gcd2 False (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8258 -> 8387[label="",style="solid", color="black", weight=3]; 8259[label="primQuotInt (Pos vuz416) (gcd2 True (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8259 -> 8388[label="",style="solid", color="black", weight=3]; 8260[label="vuz31800",fontsize=16,color="green",shape="box"];8261[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8262[label="vuz31800",fontsize=16,color="green",shape="box"];8263[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8264[label="primQuotInt (primMinusNat (Succ vuz4190) (Succ vuz4180)) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8264 -> 8389[label="",style="solid", color="black", weight=3]; 8265[label="primQuotInt (primMinusNat (Succ vuz4190) Zero) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8265 -> 8390[label="",style="solid", color="black", weight=3]; 8266[label="primQuotInt (primMinusNat Zero (Succ vuz4180)) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8266 -> 8391[label="",style="solid", color="black", weight=3]; 8267[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz421 vuz420) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8267 -> 8392[label="",style="solid", color="black", weight=3]; 8268[label="primQuotInt (Neg (Succ vuz4240)) (reduce2D (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8268 -> 8393[label="",style="solid", color="black", weight=3]; 8269[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8269 -> 8394[label="",style="solid", color="black", weight=3]; 9991[label="Neg vuz427",fontsize=16,color="green",shape="box"];8274[label="primQuotInt (Neg vuz426) (gcd2 False (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8274 -> 8396[label="",style="solid", color="black", weight=3]; 8275[label="primQuotInt (Neg vuz426) (gcd2 True (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8275 -> 8397[label="",style="solid", color="black", weight=3]; 9992[label="Neg vuz429",fontsize=16,color="green",shape="box"];8280[label="primQuotInt (Neg vuz428) (gcd2 False (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8280 -> 8398[label="",style="solid", color="black", weight=3]; 8281[label="primQuotInt (Neg vuz428) (gcd2 True (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8281 -> 8399[label="",style="solid", color="black", weight=3]; 8282[label="vuz31800",fontsize=16,color="green",shape="box"];8283[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8284[label="vuz31800",fontsize=16,color="green",shape="box"];8285[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8286[label="primQuotInt (primMinusNat (Succ vuz4310) (Succ vuz4300)) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8286 -> 8400[label="",style="solid", color="black", weight=3]; 8287[label="primQuotInt (primMinusNat (Succ vuz4310) Zero) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8287 -> 8401[label="",style="solid", color="black", weight=3]; 8288[label="primQuotInt (primMinusNat Zero (Succ vuz4300)) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8288 -> 8402[label="",style="solid", color="black", weight=3]; 8289[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz433 vuz432) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8289 -> 8403[label="",style="solid", color="black", weight=3]; 8290[label="primQuotInt (Neg (Succ vuz4360)) (reduce2D (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8290 -> 8404[label="",style="solid", color="black", weight=3]; 8291[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8291 -> 8405[label="",style="solid", color="black", weight=3]; 8292[label="vuz31800",fontsize=16,color="green",shape="box"];8293[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8294[label="vuz31800",fontsize=16,color="green",shape="box"];8295[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8296[label="primQuotInt (primMinusNat (Succ vuz4390) (Succ vuz4380)) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8296 -> 8406[label="",style="solid", color="black", weight=3]; 8297[label="primQuotInt (primMinusNat (Succ vuz4390) Zero) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8297 -> 8407[label="",style="solid", color="black", weight=3]; 8298[label="primQuotInt (primMinusNat Zero (Succ vuz4380)) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8298 -> 8408[label="",style="solid", color="black", weight=3]; 8299[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz441 vuz440) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8299 -> 8409[label="",style="solid", color="black", weight=3]; 8300[label="primQuotInt (Neg (Succ vuz4440)) (reduce2D (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8300 -> 8410[label="",style="solid", color="black", weight=3]; 8301[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8301 -> 8411[label="",style="solid", color="black", weight=3]; 9993[label="Neg vuz447",fontsize=16,color="green",shape="box"];8306[label="primQuotInt (Neg vuz446) (gcd2 False (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8306 -> 8412[label="",style="solid", color="black", weight=3]; 8307[label="primQuotInt (Neg vuz446) (gcd2 True (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8307 -> 8413[label="",style="solid", color="black", weight=3]; 9994[label="Neg vuz349",fontsize=16,color="green",shape="box"];8312[label="primQuotInt (Neg vuz348) (gcd2 False (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8312 -> 8414[label="",style="solid", color="black", weight=3]; 8313[label="primQuotInt (Neg vuz348) (gcd2 True (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8313 -> 8415[label="",style="solid", color="black", weight=3]; 8314[label="vuz31800",fontsize=16,color="green",shape="box"];8315[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8316[label="vuz31800",fontsize=16,color="green",shape="box"];8317[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8318[label="primQuotInt (primMinusNat (Succ vuz4490) (Succ vuz4480)) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8318 -> 8416[label="",style="solid", color="black", weight=3]; 8319[label="primQuotInt (primMinusNat (Succ vuz4490) Zero) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8319 -> 8417[label="",style="solid", color="black", weight=3]; 8320[label="primQuotInt (primMinusNat Zero (Succ vuz4480)) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8320 -> 8418[label="",style="solid", color="black", weight=3]; 8321[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz451 vuz450) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8321 -> 8419[label="",style="solid", color="black", weight=3]; 8322[label="primQuotInt (Neg (Succ vuz4540)) (reduce2D (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8322 -> 8420[label="",style="solid", color="black", weight=3]; 8323[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8323 -> 8421[label="",style="solid", color="black", weight=3]; 9995[label="Pos vuz355",fontsize=16,color="green",shape="box"];8328[label="primQuotInt (Pos vuz354) (gcd2 False (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8328 -> 8422[label="",style="solid", color="black", weight=3]; 8329[label="primQuotInt (Pos vuz354) (gcd2 True (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8329 -> 8423[label="",style="solid", color="black", weight=3]; 8330[label="vuz31600",fontsize=16,color="green",shape="box"];8331[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8332[label="vuz31600",fontsize=16,color="green",shape="box"];8333[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8334[label="primQuotInt (primMinusNat (Succ vuz4570) (Succ vuz4560)) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8334 -> 8424[label="",style="solid", color="black", weight=3]; 8335[label="primQuotInt (primMinusNat (Succ vuz4570) Zero) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8335 -> 8425[label="",style="solid", color="black", weight=3]; 8336[label="primQuotInt (primMinusNat Zero (Succ vuz4560)) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8336 -> 8426[label="",style="solid", color="black", weight=3]; 8337[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz459 vuz458) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8337 -> 8427[label="",style="solid", color="black", weight=3]; 8338[label="primQuotInt (Neg (Succ vuz4620)) (reduce2D (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8338 -> 8428[label="",style="solid", color="black", weight=3]; 8339[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8339 -> 8429[label="",style="solid", color="black", weight=3]; 8340[label="vuz31600",fontsize=16,color="green",shape="box"];8341[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8342[label="vuz31600",fontsize=16,color="green",shape="box"];8343[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8344[label="primQuotInt (primMinusNat (Succ vuz4650) (Succ vuz4640)) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8344 -> 8430[label="",style="solid", color="black", weight=3]; 8345[label="primQuotInt (primMinusNat (Succ vuz4650) Zero) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8345 -> 8431[label="",style="solid", color="black", weight=3]; 8346[label="primQuotInt (primMinusNat Zero (Succ vuz4640)) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8346 -> 8432[label="",style="solid", color="black", weight=3]; 8347[label="primQuotInt (primMinusNat Zero Zero) (reduce2D (primMinusNat vuz467 vuz466) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8347 -> 8433[label="",style="solid", color="black", weight=3]; 8348[label="primQuotInt (Neg (Succ vuz4700)) (reduce2D (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8348 -> 8434[label="",style="solid", color="black", weight=3]; 8349[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8349 -> 8435[label="",style="solid", color="black", weight=3]; 9996[label="Pos vuz361",fontsize=16,color="green",shape="box"];8354[label="primQuotInt (Pos vuz360) (gcd2 False (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8354 -> 8436[label="",style="solid", color="black", weight=3]; 8355[label="primQuotInt (Pos vuz360) (gcd2 True (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8355 -> 8437[label="",style="solid", color="black", weight=3]; 8356 -> 8438[label="",style="dashed", color="red", weight=0]; 8356[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz367))",fontsize=16,color="magenta"];8356 -> 8439[label="",style="dashed", color="magenta", weight=3]; 8356 -> 8440[label="",style="dashed", color="magenta", weight=3]; 8357 -> 8447[label="",style="dashed", color="red", weight=0]; 8357[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz367))",fontsize=16,color="magenta"];8357 -> 8448[label="",style="dashed", color="magenta", weight=3]; 8357 -> 8449[label="",style="dashed", color="magenta", weight=3]; 8358 -> 8456[label="",style="dashed", color="red", weight=0]; 8358[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz371))",fontsize=16,color="magenta"];8358 -> 8457[label="",style="dashed", color="magenta", weight=3]; 8358 -> 8458[label="",style="dashed", color="magenta", weight=3]; 8359 -> 8465[label="",style="dashed", color="red", weight=0]; 8359[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz371))",fontsize=16,color="magenta"];8359 -> 8466[label="",style="dashed", color="magenta", weight=3]; 8359 -> 8467[label="",style="dashed", color="magenta", weight=3]; 8360 -> 8474[label="",style="dashed", color="red", weight=0]; 8360[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz375))",fontsize=16,color="magenta"];8360 -> 8475[label="",style="dashed", color="magenta", weight=3]; 8360 -> 8476[label="",style="dashed", color="magenta", weight=3]; 8361 -> 8483[label="",style="dashed", color="red", weight=0]; 8361[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz375))",fontsize=16,color="magenta"];8361 -> 8484[label="",style="dashed", color="magenta", weight=3]; 8361 -> 8485[label="",style="dashed", color="magenta", weight=3]; 8362 -> 8492[label="",style="dashed", color="red", weight=0]; 8362[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz379))",fontsize=16,color="magenta"];8362 -> 8493[label="",style="dashed", color="magenta", weight=3]; 8362 -> 8494[label="",style="dashed", color="magenta", weight=3]; 8363 -> 8501[label="",style="dashed", color="red", weight=0]; 8363[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz379))",fontsize=16,color="magenta"];8363 -> 8502[label="",style="dashed", color="magenta", weight=3]; 8363 -> 8503[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8501[label="",style="dashed", color="red", weight=0]; 8364[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz383))",fontsize=16,color="magenta"];8364 -> 8504[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8505[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8506[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8507[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8508[label="",style="dashed", color="magenta", weight=3]; 8364 -> 8509[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8492[label="",style="dashed", color="red", weight=0]; 8365[label="primQuotInt (Neg vuz382) (gcd2 (primEqInt (primPlusInt (Pos vuz385) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz384) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz383))",fontsize=16,color="magenta"];8365 -> 8495[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8496[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8497[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8498[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8499[label="",style="dashed", color="magenta", weight=3]; 8365 -> 8500[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8483[label="",style="dashed", color="red", weight=0]; 8366[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (Neg (primMulNat vuz3180 vuz3190))) (Neg vuz387))",fontsize=16,color="magenta"];8366 -> 8486[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8487[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8488[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8489[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8490[label="",style="dashed", color="magenta", weight=3]; 8366 -> 8491[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8474[label="",style="dashed", color="red", weight=0]; 8367[label="primQuotInt (Neg vuz386) (gcd2 (primEqInt (primPlusInt (Neg vuz389) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz388) (Pos (primMulNat vuz3180 vuz3190))) (Neg vuz387))",fontsize=16,color="magenta"];8367 -> 8477[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8478[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8479[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8480[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8481[label="",style="dashed", color="magenta", weight=3]; 8367 -> 8482[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8465[label="",style="dashed", color="red", weight=0]; 8368[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz391))",fontsize=16,color="magenta"];8368 -> 8468[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8469[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8470[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8471[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8472[label="",style="dashed", color="magenta", weight=3]; 8368 -> 8473[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8456[label="",style="dashed", color="red", weight=0]; 8369[label="primQuotInt (Pos vuz390) (gcd2 (primEqInt (primPlusInt (Neg vuz393) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Neg vuz392) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz391))",fontsize=16,color="magenta"];8369 -> 8459[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8460[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8461[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8462[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8463[label="",style="dashed", color="magenta", weight=3]; 8369 -> 8464[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8447[label="",style="dashed", color="red", weight=0]; 8370[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (Neg (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (Neg (primMulNat vuz3180 vuz3190))) (Pos vuz395))",fontsize=16,color="magenta"];8370 -> 8450[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8451[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8452[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8453[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8454[label="",style="dashed", color="magenta", weight=3]; 8370 -> 8455[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8438[label="",style="dashed", color="red", weight=0]; 8371[label="primQuotInt (Pos vuz394) (gcd2 (primEqInt (primPlusInt (Pos vuz397) (Pos (primMulNat vuz3180 vuz3190))) (fromInt (Pos Zero))) (primPlusInt (Pos vuz396) (Pos (primMulNat vuz3180 vuz3190))) (Pos vuz395))",fontsize=16,color="magenta"];8371 -> 8441[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8442[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8443[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8444[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8445[label="",style="dashed", color="magenta", weight=3]; 8371 -> 8446[label="",style="dashed", color="magenta", weight=3]; 8373[label="primQuotInt (Pos vuz398) (gcd0 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8373 -> 8510[label="",style="solid", color="black", weight=3]; 8374 -> 8511[label="",style="dashed", color="red", weight=0]; 8374[label="primQuotInt (Pos vuz398) (gcd1 (Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8374 -> 8512[label="",style="dashed", color="magenta", weight=3]; 8375 -> 7677[label="",style="dashed", color="red", weight=0]; 8375[label="primQuotInt (primMinusNat vuz4010 vuz4000) (reduce2D (primMinusNat vuz4010 vuz4000) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8375 -> 8513[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8514[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8515[label="",style="dashed", color="magenta", weight=3]; 8375 -> 8516[label="",style="dashed", color="magenta", weight=3]; 8376[label="primQuotInt (Pos (Succ vuz4010)) (reduce2D (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8376 -> 8517[label="",style="solid", color="black", weight=3]; 8377[label="primQuotInt (Neg (Succ vuz4000)) (reduce2D (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8377 -> 8518[label="",style="solid", color="black", weight=3]; 8378[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8378 -> 8519[label="",style="solid", color="black", weight=3]; 8379[label="primQuotInt (Neg (Succ vuz4060)) (gcd (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8379 -> 8520[label="",style="solid", color="black", weight=3]; 8380[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8380 -> 8521[label="",style="solid", color="black", weight=3]; 8381 -> 7691[label="",style="dashed", color="red", weight=0]; 8381[label="primQuotInt (primMinusNat vuz4090 vuz4080) (reduce2D (primMinusNat vuz4090 vuz4080) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8381 -> 8522[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8523[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8524[label="",style="dashed", color="magenta", weight=3]; 8381 -> 8525[label="",style="dashed", color="magenta", weight=3]; 8382[label="primQuotInt (Pos (Succ vuz4090)) (reduce2D (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8382 -> 8526[label="",style="solid", color="black", weight=3]; 8383[label="primQuotInt (Neg (Succ vuz4080)) (reduce2D (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8383 -> 8527[label="",style="solid", color="black", weight=3]; 8384[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8384 -> 8528[label="",style="solid", color="black", weight=3]; 8385[label="primQuotInt (Neg (Succ vuz4140)) (gcd (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8385 -> 8529[label="",style="solid", color="black", weight=3]; 8386[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="black",shape="box"];8386 -> 8530[label="",style="solid", color="black", weight=3]; 8387[label="primQuotInt (Pos vuz416) (gcd0 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8387 -> 8531[label="",style="solid", color="black", weight=3]; 8388 -> 8532[label="",style="dashed", color="red", weight=0]; 8388[label="primQuotInt (Pos vuz416) (gcd1 (Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8388 -> 8533[label="",style="dashed", color="magenta", weight=3]; 8389 -> 7723[label="",style="dashed", color="red", weight=0]; 8389[label="primQuotInt (primMinusNat vuz4190 vuz4180) (reduce2D (primMinusNat vuz4190 vuz4180) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8389 -> 8534[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8535[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8536[label="",style="dashed", color="magenta", weight=3]; 8389 -> 8537[label="",style="dashed", color="magenta", weight=3]; 8390[label="primQuotInt (Pos (Succ vuz4190)) (reduce2D (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8390 -> 8538[label="",style="solid", color="black", weight=3]; 8391[label="primQuotInt (Neg (Succ vuz4180)) (reduce2D (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8391 -> 8539[label="",style="solid", color="black", weight=3]; 8392[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8392 -> 8540[label="",style="solid", color="black", weight=3]; 8393[label="primQuotInt (Neg (Succ vuz4240)) (gcd (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8393 -> 8541[label="",style="solid", color="black", weight=3]; 8394[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8394 -> 8542[label="",style="solid", color="black", weight=3]; 8396[label="primQuotInt (Neg vuz426) (gcd0 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8396 -> 8543[label="",style="solid", color="black", weight=3]; 8397 -> 8544[label="",style="dashed", color="red", weight=0]; 8397[label="primQuotInt (Neg vuz426) (gcd1 (Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8397 -> 8545[label="",style="dashed", color="magenta", weight=3]; 8398[label="primQuotInt (Neg vuz428) (gcd0 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8398 -> 8546[label="",style="solid", color="black", weight=3]; 8399 -> 8547[label="",style="dashed", color="red", weight=0]; 8399[label="primQuotInt (Neg vuz428) (gcd1 (Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8399 -> 8548[label="",style="dashed", color="magenta", weight=3]; 8400 -> 7773[label="",style="dashed", color="red", weight=0]; 8400[label="primQuotInt (primMinusNat vuz4310 vuz4300) (reduce2D (primMinusNat vuz4310 vuz4300) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8400 -> 8549[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8550[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8551[label="",style="dashed", color="magenta", weight=3]; 8400 -> 8552[label="",style="dashed", color="magenta", weight=3]; 8401[label="primQuotInt (Pos (Succ vuz4310)) (reduce2D (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8401 -> 8553[label="",style="solid", color="black", weight=3]; 8402[label="primQuotInt (Neg (Succ vuz4300)) (reduce2D (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8402 -> 8554[label="",style="solid", color="black", weight=3]; 8403[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8403 -> 8555[label="",style="solid", color="black", weight=3]; 8404[label="primQuotInt (Neg (Succ vuz4360)) (gcd (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8404 -> 8556[label="",style="solid", color="black", weight=3]; 8405[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="black",shape="box"];8405 -> 8557[label="",style="solid", color="black", weight=3]; 8406 -> 7787[label="",style="dashed", color="red", weight=0]; 8406[label="primQuotInt (primMinusNat vuz4390 vuz4380) (reduce2D (primMinusNat vuz4390 vuz4380) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8406 -> 8558[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8559[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8560[label="",style="dashed", color="magenta", weight=3]; 8406 -> 8561[label="",style="dashed", color="magenta", weight=3]; 8407[label="primQuotInt (Pos (Succ vuz4390)) (reduce2D (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8407 -> 8562[label="",style="solid", color="black", weight=3]; 8408[label="primQuotInt (Neg (Succ vuz4380)) (reduce2D (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8408 -> 8563[label="",style="solid", color="black", weight=3]; 8409[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8409 -> 8564[label="",style="solid", color="black", weight=3]; 8410[label="primQuotInt (Neg (Succ vuz4440)) (gcd (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8410 -> 8565[label="",style="solid", color="black", weight=3]; 8411[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8411 -> 8566[label="",style="solid", color="black", weight=3]; 8412[label="primQuotInt (Neg vuz446) (gcd0 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8412 -> 8567[label="",style="solid", color="black", weight=3]; 8413 -> 8568[label="",style="dashed", color="red", weight=0]; 8413[label="primQuotInt (Neg vuz446) (gcd1 (Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8413 -> 8569[label="",style="dashed", color="magenta", weight=3]; 8414[label="primQuotInt (Neg vuz348) (gcd0 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="triangle"];8414 -> 8570[label="",style="solid", color="black", weight=3]; 8415 -> 8571[label="",style="dashed", color="red", weight=0]; 8415[label="primQuotInt (Neg vuz348) (gcd1 (Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)) (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8415 -> 8572[label="",style="dashed", color="magenta", weight=3]; 8416 -> 7824[label="",style="dashed", color="red", weight=0]; 8416[label="primQuotInt (primMinusNat vuz4490 vuz4480) (reduce2D (primMinusNat vuz4490 vuz4480) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8416 -> 8573[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8574[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8575[label="",style="dashed", color="magenta", weight=3]; 8416 -> 8576[label="",style="dashed", color="magenta", weight=3]; 8417[label="primQuotInt (Pos (Succ vuz4490)) (reduce2D (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8417 -> 8577[label="",style="solid", color="black", weight=3]; 8418[label="primQuotInt (Neg (Succ vuz4480)) (reduce2D (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8418 -> 8578[label="",style="solid", color="black", weight=3]; 8419[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8419 -> 8579[label="",style="solid", color="black", weight=3]; 8420[label="primQuotInt (Neg (Succ vuz4540)) (gcd (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8420 -> 8580[label="",style="solid", color="black", weight=3]; 8421[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="black",shape="box"];8421 -> 8581[label="",style="solid", color="black", weight=3]; 8422[label="primQuotInt (Pos vuz354) (gcd0 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8422 -> 8582[label="",style="solid", color="black", weight=3]; 8423 -> 8583[label="",style="dashed", color="red", weight=0]; 8423[label="primQuotInt (Pos vuz354) (gcd1 (Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8423 -> 8584[label="",style="dashed", color="magenta", weight=3]; 8424 -> 7843[label="",style="dashed", color="red", weight=0]; 8424[label="primQuotInt (primMinusNat vuz4570 vuz4560) (reduce2D (primMinusNat vuz4570 vuz4560) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8424 -> 8585[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8586[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8587[label="",style="dashed", color="magenta", weight=3]; 8424 -> 8588[label="",style="dashed", color="magenta", weight=3]; 8425[label="primQuotInt (Pos (Succ vuz4570)) (reduce2D (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8425 -> 8589[label="",style="solid", color="black", weight=3]; 8426[label="primQuotInt (Neg (Succ vuz4560)) (reduce2D (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8426 -> 8590[label="",style="solid", color="black", weight=3]; 8427[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8427 -> 8591[label="",style="solid", color="black", weight=3]; 8428[label="primQuotInt (Neg (Succ vuz4620)) (gcd (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8428 -> 8592[label="",style="solid", color="black", weight=3]; 8429[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8429 -> 8593[label="",style="solid", color="black", weight=3]; 8430 -> 7857[label="",style="dashed", color="red", weight=0]; 8430[label="primQuotInt (primMinusNat vuz4650 vuz4640) (reduce2D (primMinusNat vuz4650 vuz4640) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8430 -> 8594[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8595[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8596[label="",style="dashed", color="magenta", weight=3]; 8430 -> 8597[label="",style="dashed", color="magenta", weight=3]; 8431[label="primQuotInt (Pos (Succ vuz4650)) (reduce2D (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8431 -> 8598[label="",style="solid", color="black", weight=3]; 8432[label="primQuotInt (Neg (Succ vuz4640)) (reduce2D (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8432 -> 8599[label="",style="solid", color="black", weight=3]; 8433[label="primQuotInt (Pos Zero) (reduce2D (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8433 -> 8600[label="",style="solid", color="black", weight=3]; 8434[label="primQuotInt (Neg (Succ vuz4700)) (gcd (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8434 -> 8601[label="",style="solid", color="black", weight=3]; 8435[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="black",shape="box"];8435 -> 8602[label="",style="solid", color="black", weight=3]; 8436[label="primQuotInt (Pos vuz360) (gcd0 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="triangle"];8436 -> 8603[label="",style="solid", color="black", weight=3]; 8437 -> 8604[label="",style="dashed", color="red", weight=0]; 8437[label="primQuotInt (Pos vuz360) (gcd1 (Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)) (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8437 -> 8605[label="",style="dashed", color="magenta", weight=3]; 8439 -> 7480[label="",style="dashed", color="red", weight=0]; 8439[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8439 -> 8606[label="",style="dashed", color="magenta", weight=3]; 8439 -> 8607[label="",style="dashed", color="magenta", weight=3]; 8440 -> 7480[label="",style="dashed", color="red", weight=0]; 8440[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8440 -> 8608[label="",style="dashed", color="magenta", weight=3]; 8440 -> 8609[label="",style="dashed", color="magenta", weight=3]; 8438[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Pos vuz481)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Pos vuz480)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8438 -> 8610[label="",style="solid", color="black", weight=3]; 8448 -> 7480[label="",style="dashed", color="red", weight=0]; 8448[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8448 -> 8611[label="",style="dashed", color="magenta", weight=3]; 8448 -> 8612[label="",style="dashed", color="magenta", weight=3]; 8449 -> 7480[label="",style="dashed", color="red", weight=0]; 8449[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8449 -> 8613[label="",style="dashed", color="magenta", weight=3]; 8449 -> 8614[label="",style="dashed", color="magenta", weight=3]; 8447[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primPlusInt (Pos vuz369) (Neg vuz483)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz368) (Neg vuz482)) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8447 -> 8615[label="",style="solid", color="black", weight=3]; 8457 -> 7480[label="",style="dashed", color="red", weight=0]; 8457[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8457 -> 8616[label="",style="dashed", color="magenta", weight=3]; 8457 -> 8617[label="",style="dashed", color="magenta", weight=3]; 8458 -> 7480[label="",style="dashed", color="red", weight=0]; 8458[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8458 -> 8618[label="",style="dashed", color="magenta", weight=3]; 8458 -> 8619[label="",style="dashed", color="magenta", weight=3]; 8456[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Pos vuz485)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Pos vuz484)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8456 -> 8620[label="",style="solid", color="black", weight=3]; 8466 -> 7480[label="",style="dashed", color="red", weight=0]; 8466[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8466 -> 8621[label="",style="dashed", color="magenta", weight=3]; 8466 -> 8622[label="",style="dashed", color="magenta", weight=3]; 8467 -> 7480[label="",style="dashed", color="red", weight=0]; 8467[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8467 -> 8623[label="",style="dashed", color="magenta", weight=3]; 8467 -> 8624[label="",style="dashed", color="magenta", weight=3]; 8465[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primPlusInt (Neg vuz373) (Neg vuz487)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz372) (Neg vuz486)) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8465 -> 8625[label="",style="solid", color="black", weight=3]; 8475 -> 7480[label="",style="dashed", color="red", weight=0]; 8475[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8475 -> 8626[label="",style="dashed", color="magenta", weight=3]; 8475 -> 8627[label="",style="dashed", color="magenta", weight=3]; 8476 -> 7480[label="",style="dashed", color="red", weight=0]; 8476[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8476 -> 8628[label="",style="dashed", color="magenta", weight=3]; 8476 -> 8629[label="",style="dashed", color="magenta", weight=3]; 8474[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Pos vuz489)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Pos vuz488)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8474 -> 8630[label="",style="solid", color="black", weight=3]; 8484 -> 7480[label="",style="dashed", color="red", weight=0]; 8484[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8484 -> 8631[label="",style="dashed", color="magenta", weight=3]; 8484 -> 8632[label="",style="dashed", color="magenta", weight=3]; 8485 -> 7480[label="",style="dashed", color="red", weight=0]; 8485[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8485 -> 8633[label="",style="dashed", color="magenta", weight=3]; 8485 -> 8634[label="",style="dashed", color="magenta", weight=3]; 8483[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primPlusInt (Neg vuz377) (Neg vuz491)) (fromInt (Pos Zero))) (primPlusInt (Neg vuz376) (Neg vuz490)) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8483 -> 8635[label="",style="solid", color="black", weight=3]; 8493 -> 7480[label="",style="dashed", color="red", weight=0]; 8493[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8493 -> 8636[label="",style="dashed", color="magenta", weight=3]; 8493 -> 8637[label="",style="dashed", color="magenta", weight=3]; 8494 -> 7480[label="",style="dashed", color="red", weight=0]; 8494[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8494 -> 8638[label="",style="dashed", color="magenta", weight=3]; 8494 -> 8639[label="",style="dashed", color="magenta", weight=3]; 8492[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Pos vuz493)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Pos vuz492)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8492 -> 8640[label="",style="solid", color="black", weight=3]; 8502 -> 7480[label="",style="dashed", color="red", weight=0]; 8502[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8502 -> 8641[label="",style="dashed", color="magenta", weight=3]; 8502 -> 8642[label="",style="dashed", color="magenta", weight=3]; 8503 -> 7480[label="",style="dashed", color="red", weight=0]; 8503[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8503 -> 8643[label="",style="dashed", color="magenta", weight=3]; 8503 -> 8644[label="",style="dashed", color="magenta", weight=3]; 8501[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primPlusInt (Pos vuz381) (Neg vuz495)) (fromInt (Pos Zero))) (primPlusInt (Pos vuz380) (Neg vuz494)) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8501 -> 8645[label="",style="solid", color="black", weight=3]; 8504[label="vuz383",fontsize=16,color="green",shape="box"];8505[label="vuz384",fontsize=16,color="green",shape="box"];8506 -> 7480[label="",style="dashed", color="red", weight=0]; 8506[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8506 -> 8646[label="",style="dashed", color="magenta", weight=3]; 8506 -> 8647[label="",style="dashed", color="magenta", weight=3]; 8507[label="vuz385",fontsize=16,color="green",shape="box"];8508 -> 7480[label="",style="dashed", color="red", weight=0]; 8508[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8508 -> 8648[label="",style="dashed", color="magenta", weight=3]; 8508 -> 8649[label="",style="dashed", color="magenta", weight=3]; 8509[label="vuz382",fontsize=16,color="green",shape="box"];8495[label="vuz383",fontsize=16,color="green",shape="box"];8496[label="vuz384",fontsize=16,color="green",shape="box"];8497[label="vuz385",fontsize=16,color="green",shape="box"];8498 -> 7480[label="",style="dashed", color="red", weight=0]; 8498[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8498 -> 8650[label="",style="dashed", color="magenta", weight=3]; 8498 -> 8651[label="",style="dashed", color="magenta", weight=3]; 8499[label="vuz382",fontsize=16,color="green",shape="box"];8500 -> 7480[label="",style="dashed", color="red", weight=0]; 8500[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8500 -> 8652[label="",style="dashed", color="magenta", weight=3]; 8500 -> 8653[label="",style="dashed", color="magenta", weight=3]; 8486 -> 7480[label="",style="dashed", color="red", weight=0]; 8486[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8486 -> 8654[label="",style="dashed", color="magenta", weight=3]; 8486 -> 8655[label="",style="dashed", color="magenta", weight=3]; 8487[label="vuz387",fontsize=16,color="green",shape="box"];8488[label="vuz388",fontsize=16,color="green",shape="box"];8489[label="vuz386",fontsize=16,color="green",shape="box"];8490[label="vuz389",fontsize=16,color="green",shape="box"];8491 -> 7480[label="",style="dashed", color="red", weight=0]; 8491[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8491 -> 8656[label="",style="dashed", color="magenta", weight=3]; 8491 -> 8657[label="",style="dashed", color="magenta", weight=3]; 8477 -> 7480[label="",style="dashed", color="red", weight=0]; 8477[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8477 -> 8658[label="",style="dashed", color="magenta", weight=3]; 8477 -> 8659[label="",style="dashed", color="magenta", weight=3]; 8478[label="vuz387",fontsize=16,color="green",shape="box"];8479[label="vuz388",fontsize=16,color="green",shape="box"];8480 -> 7480[label="",style="dashed", color="red", weight=0]; 8480[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8480 -> 8660[label="",style="dashed", color="magenta", weight=3]; 8480 -> 8661[label="",style="dashed", color="magenta", weight=3]; 8481[label="vuz386",fontsize=16,color="green",shape="box"];8482[label="vuz389",fontsize=16,color="green",shape="box"];8468[label="vuz392",fontsize=16,color="green",shape="box"];8469 -> 7480[label="",style="dashed", color="red", weight=0]; 8469[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8469 -> 8662[label="",style="dashed", color="magenta", weight=3]; 8469 -> 8663[label="",style="dashed", color="magenta", weight=3]; 8470[label="vuz393",fontsize=16,color="green",shape="box"];8471[label="vuz390",fontsize=16,color="green",shape="box"];8472[label="vuz391",fontsize=16,color="green",shape="box"];8473 -> 7480[label="",style="dashed", color="red", weight=0]; 8473[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8473 -> 8664[label="",style="dashed", color="magenta", weight=3]; 8473 -> 8665[label="",style="dashed", color="magenta", weight=3]; 8459[label="vuz392",fontsize=16,color="green",shape="box"];8460 -> 7480[label="",style="dashed", color="red", weight=0]; 8460[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8460 -> 8666[label="",style="dashed", color="magenta", weight=3]; 8460 -> 8667[label="",style="dashed", color="magenta", weight=3]; 8461[label="vuz393",fontsize=16,color="green",shape="box"];8462[label="vuz390",fontsize=16,color="green",shape="box"];8463[label="vuz391",fontsize=16,color="green",shape="box"];8464 -> 7480[label="",style="dashed", color="red", weight=0]; 8464[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8464 -> 8668[label="",style="dashed", color="magenta", weight=3]; 8464 -> 8669[label="",style="dashed", color="magenta", weight=3]; 8450[label="vuz395",fontsize=16,color="green",shape="box"];8451[label="vuz397",fontsize=16,color="green",shape="box"];8452[label="vuz396",fontsize=16,color="green",shape="box"];8453 -> 7480[label="",style="dashed", color="red", weight=0]; 8453[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8453 -> 8670[label="",style="dashed", color="magenta", weight=3]; 8453 -> 8671[label="",style="dashed", color="magenta", weight=3]; 8454 -> 7480[label="",style="dashed", color="red", weight=0]; 8454[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8454 -> 8672[label="",style="dashed", color="magenta", weight=3]; 8454 -> 8673[label="",style="dashed", color="magenta", weight=3]; 8455[label="vuz394",fontsize=16,color="green",shape="box"];8441 -> 7480[label="",style="dashed", color="red", weight=0]; 8441[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8441 -> 8674[label="",style="dashed", color="magenta", weight=3]; 8441 -> 8675[label="",style="dashed", color="magenta", weight=3]; 8442[label="vuz395",fontsize=16,color="green",shape="box"];8443[label="vuz397",fontsize=16,color="green",shape="box"];8444 -> 7480[label="",style="dashed", color="red", weight=0]; 8444[label="primMulNat vuz3180 vuz3190",fontsize=16,color="magenta"];8444 -> 8676[label="",style="dashed", color="magenta", weight=3]; 8444 -> 8677[label="",style="dashed", color="magenta", weight=3]; 8445[label="vuz396",fontsize=16,color="green",shape="box"];8446[label="vuz394",fontsize=16,color="green",shape="box"];8510[label="primQuotInt (Pos vuz398) (gcd0Gcd' (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8510 -> 8678[label="",style="solid", color="black", weight=3]; 8512 -> 9987[label="",style="dashed", color="red", weight=0]; 8512[label="Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8512 -> 9997[label="",style="dashed", color="magenta", weight=3]; 8511[label="primQuotInt (Pos vuz398) (gcd1 vuz496 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11047[label="vuz496/False",fontsize=10,color="white",style="solid",shape="box"];8511 -> 11047[label="",style="solid", color="burlywood", weight=9]; 11047 -> 8681[label="",style="solid", color="burlywood", weight=3]; 11048[label="vuz496/True",fontsize=10,color="white",style="solid",shape="box"];8511 -> 11048[label="",style="solid", color="burlywood", weight=9]; 11048 -> 8682[label="",style="solid", color="burlywood", weight=3]; 8513[label="vuz4000",fontsize=16,color="green",shape="box"];8514[label="vuz4010",fontsize=16,color="green",shape="box"];8515[label="vuz4010",fontsize=16,color="green",shape="box"];8516[label="vuz4000",fontsize=16,color="green",shape="box"];8517[label="primQuotInt (Pos (Succ vuz4010)) (gcd (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8517 -> 8683[label="",style="solid", color="black", weight=3]; 8518[label="primQuotInt (Neg (Succ vuz4000)) (gcd (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8518 -> 8684[label="",style="solid", color="black", weight=3]; 8519[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8519 -> 8685[label="",style="solid", color="black", weight=3]; 8520 -> 7809[label="",style="dashed", color="red", weight=0]; 8520[label="primQuotInt (Neg (Succ vuz4060)) (gcd3 (Neg (Succ vuz4060)) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8520 -> 8686[label="",style="dashed", color="magenta", weight=3]; 8520 -> 8687[label="",style="dashed", color="magenta", weight=3]; 8520 -> 8688[label="",style="dashed", color="magenta", weight=3]; 8521 -> 7713[label="",style="dashed", color="red", weight=0]; 8521[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8521 -> 8689[label="",style="dashed", color="magenta", weight=3]; 8521 -> 8690[label="",style="dashed", color="magenta", weight=3]; 8521 -> 8691[label="",style="dashed", color="magenta", weight=3]; 8522[label="vuz4090",fontsize=16,color="green",shape="box"];8523[label="vuz4080",fontsize=16,color="green",shape="box"];8524[label="vuz4090",fontsize=16,color="green",shape="box"];8525[label="vuz4080",fontsize=16,color="green",shape="box"];8526[label="primQuotInt (Pos (Succ vuz4090)) (gcd (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8526 -> 8692[label="",style="solid", color="black", weight=3]; 8527[label="primQuotInt (Neg (Succ vuz4080)) (gcd (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8527 -> 8693[label="",style="solid", color="black", weight=3]; 8528[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8528 -> 8694[label="",style="solid", color="black", weight=3]; 8529 -> 7587[label="",style="dashed", color="red", weight=0]; 8529[label="primQuotInt (Neg (Succ vuz4140)) (gcd3 (Neg (Succ vuz4140)) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8529 -> 8695[label="",style="dashed", color="magenta", weight=3]; 8529 -> 8696[label="",style="dashed", color="magenta", weight=3]; 8529 -> 8697[label="",style="dashed", color="magenta", weight=3]; 8530 -> 7667[label="",style="dashed", color="red", weight=0]; 8530[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Pos Zero))",fontsize=16,color="magenta"];8530 -> 8698[label="",style="dashed", color="magenta", weight=3]; 8530 -> 8699[label="",style="dashed", color="magenta", weight=3]; 8530 -> 8700[label="",style="dashed", color="magenta", weight=3]; 8531[label="primQuotInt (Pos vuz416) (gcd0Gcd' (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8531 -> 8701[label="",style="solid", color="black", weight=3]; 8533 -> 9987[label="",style="dashed", color="red", weight=0]; 8533[label="Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8533 -> 9998[label="",style="dashed", color="magenta", weight=3]; 8532[label="primQuotInt (Pos vuz416) (gcd1 vuz497 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11049[label="vuz497/False",fontsize=10,color="white",style="solid",shape="box"];8532 -> 11049[label="",style="solid", color="burlywood", weight=9]; 11049 -> 8704[label="",style="solid", color="burlywood", weight=3]; 11050[label="vuz497/True",fontsize=10,color="white",style="solid",shape="box"];8532 -> 11050[label="",style="solid", color="burlywood", weight=9]; 11050 -> 8705[label="",style="solid", color="burlywood", weight=3]; 8534[label="vuz4180",fontsize=16,color="green",shape="box"];8535[label="vuz4190",fontsize=16,color="green",shape="box"];8536[label="vuz4180",fontsize=16,color="green",shape="box"];8537[label="vuz4190",fontsize=16,color="green",shape="box"];8538[label="primQuotInt (Pos (Succ vuz4190)) (gcd (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8538 -> 8706[label="",style="solid", color="black", weight=3]; 8539[label="primQuotInt (Neg (Succ vuz4180)) (gcd (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8539 -> 8707[label="",style="solid", color="black", weight=3]; 8540[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8540 -> 8708[label="",style="solid", color="black", weight=3]; 8541 -> 7763[label="",style="dashed", color="red", weight=0]; 8541[label="primQuotInt (Neg (Succ vuz4240)) (gcd3 (Neg (Succ vuz4240)) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];8541 -> 8709[label="",style="dashed", color="magenta", weight=3]; 8541 -> 8710[label="",style="dashed", color="magenta", weight=3]; 8541 -> 8711[label="",style="dashed", color="magenta", weight=3]; 8542 -> 7598[label="",style="dashed", color="red", weight=0]; 8542[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos Zero * Neg vuz3170))",fontsize=16,color="magenta"];8542 -> 8712[label="",style="dashed", color="magenta", weight=3]; 8542 -> 8713[label="",style="dashed", color="magenta", weight=3]; 8542 -> 8714[label="",style="dashed", color="magenta", weight=3]; 8543[label="primQuotInt (Neg vuz426) (gcd0Gcd' (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8543 -> 8715[label="",style="solid", color="black", weight=3]; 8545 -> 9987[label="",style="dashed", color="red", weight=0]; 8545[label="Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8545 -> 9999[label="",style="dashed", color="magenta", weight=3]; 8544[label="primQuotInt (Neg vuz426) (gcd1 vuz498 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11051[label="vuz498/False",fontsize=10,color="white",style="solid",shape="box"];8544 -> 11051[label="",style="solid", color="burlywood", weight=9]; 11051 -> 8718[label="",style="solid", color="burlywood", weight=3]; 11052[label="vuz498/True",fontsize=10,color="white",style="solid",shape="box"];8544 -> 11052[label="",style="solid", color="burlywood", weight=9]; 11052 -> 8719[label="",style="solid", color="burlywood", weight=3]; 8546[label="primQuotInt (Neg vuz428) (gcd0Gcd' (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8546 -> 8720[label="",style="solid", color="black", weight=3]; 8548 -> 9987[label="",style="dashed", color="red", weight=0]; 8548[label="Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8548 -> 10000[label="",style="dashed", color="magenta", weight=3]; 8547[label="primQuotInt (Neg vuz428) (gcd1 vuz499 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11053[label="vuz499/False",fontsize=10,color="white",style="solid",shape="box"];8547 -> 11053[label="",style="solid", color="burlywood", weight=9]; 11053 -> 8723[label="",style="solid", color="burlywood", weight=3]; 11054[label="vuz499/True",fontsize=10,color="white",style="solid",shape="box"];8547 -> 11054[label="",style="solid", color="burlywood", weight=9]; 11054 -> 8724[label="",style="solid", color="burlywood", weight=3]; 8549[label="vuz4310",fontsize=16,color="green",shape="box"];8550[label="vuz4300",fontsize=16,color="green",shape="box"];8551[label="vuz4300",fontsize=16,color="green",shape="box"];8552[label="vuz4310",fontsize=16,color="green",shape="box"];8553[label="primQuotInt (Pos (Succ vuz4310)) (gcd (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8553 -> 8725[label="",style="solid", color="black", weight=3]; 8554[label="primQuotInt (Neg (Succ vuz4300)) (gcd (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8554 -> 8726[label="",style="solid", color="black", weight=3]; 8555[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="black",shape="box"];8555 -> 8727[label="",style="solid", color="black", weight=3]; 8556 -> 7745[label="",style="dashed", color="red", weight=0]; 8556[label="primQuotInt (Neg (Succ vuz4360)) (gcd3 (Neg (Succ vuz4360)) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];8556 -> 8728[label="",style="dashed", color="magenta", weight=3]; 8556 -> 8729[label="",style="dashed", color="magenta", weight=3]; 8556 -> 8730[label="",style="dashed", color="magenta", weight=3]; 8557 -> 7613[label="",style="dashed", color="red", weight=0]; 8557[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg Zero * Neg vuz3170))",fontsize=16,color="magenta"];8557 -> 8731[label="",style="dashed", color="magenta", weight=3]; 8557 -> 8732[label="",style="dashed", color="magenta", weight=3]; 8557 -> 8733[label="",style="dashed", color="magenta", weight=3]; 8558[label="vuz4390",fontsize=16,color="green",shape="box"];8559[label="vuz4380",fontsize=16,color="green",shape="box"];8560[label="vuz4380",fontsize=16,color="green",shape="box"];8561[label="vuz4390",fontsize=16,color="green",shape="box"];8562[label="primQuotInt (Pos (Succ vuz4390)) (gcd (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8562 -> 8734[label="",style="solid", color="black", weight=3]; 8563[label="primQuotInt (Neg (Succ vuz4380)) (gcd (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8563 -> 8735[label="",style="solid", color="black", weight=3]; 8564[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8564 -> 8736[label="",style="solid", color="black", weight=3]; 8565 -> 7587[label="",style="dashed", color="red", weight=0]; 8565[label="primQuotInt (Neg (Succ vuz4440)) (gcd3 (Neg (Succ vuz4440)) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];8565 -> 8737[label="",style="dashed", color="magenta", weight=3]; 8565 -> 8738[label="",style="dashed", color="magenta", weight=3]; 8565 -> 8739[label="",style="dashed", color="magenta", weight=3]; 8566 -> 7667[label="",style="dashed", color="red", weight=0]; 8566[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos Zero * Pos vuz3170))",fontsize=16,color="magenta"];8566 -> 8740[label="",style="dashed", color="magenta", weight=3]; 8566 -> 8741[label="",style="dashed", color="magenta", weight=3]; 8566 -> 8742[label="",style="dashed", color="magenta", weight=3]; 8567[label="primQuotInt (Neg vuz446) (gcd0Gcd' (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8567 -> 8743[label="",style="solid", color="black", weight=3]; 8569 -> 9987[label="",style="dashed", color="red", weight=0]; 8569[label="Neg vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8569 -> 10001[label="",style="dashed", color="magenta", weight=3]; 8568[label="primQuotInt (Neg vuz446) (gcd1 vuz500 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11055[label="vuz500/False",fontsize=10,color="white",style="solid",shape="box"];8568 -> 11055[label="",style="solid", color="burlywood", weight=9]; 11055 -> 8746[label="",style="solid", color="burlywood", weight=3]; 11056[label="vuz500/True",fontsize=10,color="white",style="solid",shape="box"];8568 -> 11056[label="",style="solid", color="burlywood", weight=9]; 11056 -> 8747[label="",style="solid", color="burlywood", weight=3]; 8570[label="primQuotInt (Neg vuz348) (gcd0Gcd' (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8570 -> 8748[label="",style="solid", color="black", weight=3]; 8572 -> 9987[label="",style="dashed", color="red", weight=0]; 8572[label="Pos vuz3190 * Pos vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8572 -> 10002[label="",style="dashed", color="magenta", weight=3]; 8571[label="primQuotInt (Neg vuz348) (gcd1 vuz501 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11057[label="vuz501/False",fontsize=10,color="white",style="solid",shape="box"];8571 -> 11057[label="",style="solid", color="burlywood", weight=9]; 11057 -> 8751[label="",style="solid", color="burlywood", weight=3]; 11058[label="vuz501/True",fontsize=10,color="white",style="solid",shape="box"];8571 -> 11058[label="",style="solid", color="burlywood", weight=9]; 11058 -> 8752[label="",style="solid", color="burlywood", weight=3]; 8573[label="vuz4490",fontsize=16,color="green",shape="box"];8574[label="vuz4490",fontsize=16,color="green",shape="box"];8575[label="vuz4480",fontsize=16,color="green",shape="box"];8576[label="vuz4480",fontsize=16,color="green",shape="box"];8577[label="primQuotInt (Pos (Succ vuz4490)) (gcd (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8577 -> 8753[label="",style="solid", color="black", weight=3]; 8578[label="primQuotInt (Neg (Succ vuz4480)) (gcd (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8578 -> 8754[label="",style="solid", color="black", weight=3]; 8579[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="black",shape="box"];8579 -> 8755[label="",style="solid", color="black", weight=3]; 8580 -> 7809[label="",style="dashed", color="red", weight=0]; 8580[label="primQuotInt (Neg (Succ vuz4540)) (gcd3 (Neg (Succ vuz4540)) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];8580 -> 8756[label="",style="dashed", color="magenta", weight=3]; 8580 -> 8757[label="",style="dashed", color="magenta", weight=3]; 8580 -> 8758[label="",style="dashed", color="magenta", weight=3]; 8581 -> 7713[label="",style="dashed", color="red", weight=0]; 8581[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg Zero * Pos vuz3170))",fontsize=16,color="magenta"];8581 -> 8759[label="",style="dashed", color="magenta", weight=3]; 8581 -> 8760[label="",style="dashed", color="magenta", weight=3]; 8581 -> 8761[label="",style="dashed", color="magenta", weight=3]; 8582[label="primQuotInt (Pos vuz354) (gcd0Gcd' (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8582 -> 8762[label="",style="solid", color="black", weight=3]; 8584 -> 9987[label="",style="dashed", color="red", weight=0]; 8584[label="Pos vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8584 -> 10003[label="",style="dashed", color="magenta", weight=3]; 8583[label="primQuotInt (Pos vuz354) (gcd1 vuz502 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11059[label="vuz502/False",fontsize=10,color="white",style="solid",shape="box"];8583 -> 11059[label="",style="solid", color="burlywood", weight=9]; 11059 -> 8765[label="",style="solid", color="burlywood", weight=3]; 11060[label="vuz502/True",fontsize=10,color="white",style="solid",shape="box"];8583 -> 11060[label="",style="solid", color="burlywood", weight=9]; 11060 -> 8766[label="",style="solid", color="burlywood", weight=3]; 8585[label="vuz4570",fontsize=16,color="green",shape="box"];8586[label="vuz4560",fontsize=16,color="green",shape="box"];8587[label="vuz4560",fontsize=16,color="green",shape="box"];8588[label="vuz4570",fontsize=16,color="green",shape="box"];8589[label="primQuotInt (Pos (Succ vuz4570)) (gcd (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8589 -> 8767[label="",style="solid", color="black", weight=3]; 8590[label="primQuotInt (Neg (Succ vuz4560)) (gcd (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8590 -> 8768[label="",style="solid", color="black", weight=3]; 8591[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8591 -> 8769[label="",style="solid", color="black", weight=3]; 8592 -> 7745[label="",style="dashed", color="red", weight=0]; 8592[label="primQuotInt (Neg (Succ vuz4620)) (gcd3 (Neg (Succ vuz4620)) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8592 -> 8770[label="",style="dashed", color="magenta", weight=3]; 8592 -> 8771[label="",style="dashed", color="magenta", weight=3]; 8592 -> 8772[label="",style="dashed", color="magenta", weight=3]; 8593 -> 7613[label="",style="dashed", color="red", weight=0]; 8593[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8593 -> 8773[label="",style="dashed", color="magenta", weight=3]; 8593 -> 8774[label="",style="dashed", color="magenta", weight=3]; 8593 -> 8775[label="",style="dashed", color="magenta", weight=3]; 8594[label="vuz4650",fontsize=16,color="green",shape="box"];8595[label="vuz4640",fontsize=16,color="green",shape="box"];8596[label="vuz4640",fontsize=16,color="green",shape="box"];8597[label="vuz4650",fontsize=16,color="green",shape="box"];8598[label="primQuotInt (Pos (Succ vuz4650)) (gcd (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8598 -> 8776[label="",style="solid", color="black", weight=3]; 8599[label="primQuotInt (Neg (Succ vuz4640)) (gcd (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8599 -> 8777[label="",style="solid", color="black", weight=3]; 8600[label="primQuotInt (Pos Zero) (gcd (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="black",shape="box"];8600 -> 8778[label="",style="solid", color="black", weight=3]; 8601 -> 7763[label="",style="dashed", color="red", weight=0]; 8601[label="primQuotInt (Neg (Succ vuz4700)) (gcd3 (Neg (Succ vuz4700)) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8601 -> 8779[label="",style="dashed", color="magenta", weight=3]; 8601 -> 8780[label="",style="dashed", color="magenta", weight=3]; 8601 -> 8781[label="",style="dashed", color="magenta", weight=3]; 8602 -> 7598[label="",style="dashed", color="red", weight=0]; 8602[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Neg Zero))",fontsize=16,color="magenta"];8602 -> 8782[label="",style="dashed", color="magenta", weight=3]; 8602 -> 8783[label="",style="dashed", color="magenta", weight=3]; 8602 -> 8784[label="",style="dashed", color="magenta", weight=3]; 8603[label="primQuotInt (Pos vuz360) (gcd0Gcd' (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8603 -> 8785[label="",style="solid", color="black", weight=3]; 8605 -> 9987[label="",style="dashed", color="red", weight=0]; 8605[label="Neg vuz3190 * Neg vuz3170 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8605 -> 10004[label="",style="dashed", color="magenta", weight=3]; 8604[label="primQuotInt (Pos vuz360) (gcd1 vuz503 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="burlywood",shape="triangle"];11061[label="vuz503/False",fontsize=10,color="white",style="solid",shape="box"];8604 -> 11061[label="",style="solid", color="burlywood", weight=9]; 11061 -> 8788[label="",style="solid", color="burlywood", weight=3]; 11062[label="vuz503/True",fontsize=10,color="white",style="solid",shape="box"];8604 -> 11062[label="",style="solid", color="burlywood", weight=9]; 11062 -> 8789[label="",style="solid", color="burlywood", weight=3]; 8606[label="vuz3180",fontsize=16,color="green",shape="box"];8607[label="vuz3190",fontsize=16,color="green",shape="box"];8608[label="vuz3180",fontsize=16,color="green",shape="box"];8609[label="vuz3190",fontsize=16,color="green",shape="box"];8610 -> 8790[label="",style="dashed", color="red", weight=0]; 8610[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos (primPlusNat vuz369 vuz481)) (fromInt (Pos Zero))) (Pos (primPlusNat vuz369 vuz481)) (Pos vuz367))",fontsize=16,color="magenta"];8610 -> 8791[label="",style="dashed", color="magenta", weight=3]; 8610 -> 8792[label="",style="dashed", color="magenta", weight=3]; 8611[label="vuz3180",fontsize=16,color="green",shape="box"];8612[label="vuz3190",fontsize=16,color="green",shape="box"];8613[label="vuz3180",fontsize=16,color="green",shape="box"];8614[label="vuz3190",fontsize=16,color="green",shape="box"];8615[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat vuz369 vuz483) (fromInt (Pos Zero))) (primMinusNat vuz369 vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11063[label="vuz369/Succ vuz3690",fontsize=10,color="white",style="solid",shape="box"];8615 -> 11063[label="",style="solid", color="burlywood", weight=9]; 11063 -> 8793[label="",style="solid", color="burlywood", weight=3]; 11064[label="vuz369/Zero",fontsize=10,color="white",style="solid",shape="box"];8615 -> 11064[label="",style="solid", color="burlywood", weight=9]; 11064 -> 8794[label="",style="solid", color="burlywood", weight=3]; 8616[label="vuz3180",fontsize=16,color="green",shape="box"];8617[label="vuz3190",fontsize=16,color="green",shape="box"];8618[label="vuz3180",fontsize=16,color="green",shape="box"];8619[label="vuz3190",fontsize=16,color="green",shape="box"];8620 -> 8615[label="",style="dashed", color="red", weight=0]; 8620[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (primMinusNat vuz485 vuz373) (fromInt (Pos Zero))) (primMinusNat vuz485 vuz373) (Pos vuz371))",fontsize=16,color="magenta"];8620 -> 8795[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8796[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8797[label="",style="dashed", color="magenta", weight=3]; 8620 -> 8798[label="",style="dashed", color="magenta", weight=3]; 8621[label="vuz3180",fontsize=16,color="green",shape="box"];8622[label="vuz3190",fontsize=16,color="green",shape="box"];8623[label="vuz3180",fontsize=16,color="green",shape="box"];8624[label="vuz3190",fontsize=16,color="green",shape="box"];8625 -> 8799[label="",style="dashed", color="red", weight=0]; 8625[label="primQuotInt (Pos vuz370) (gcd2 (primEqInt (Neg (primPlusNat vuz373 vuz487)) (fromInt (Pos Zero))) (Neg (primPlusNat vuz373 vuz487)) (Pos vuz371))",fontsize=16,color="magenta"];8625 -> 8800[label="",style="dashed", color="magenta", weight=3]; 8625 -> 8801[label="",style="dashed", color="magenta", weight=3]; 8626[label="vuz3180",fontsize=16,color="green",shape="box"];8627[label="vuz3190",fontsize=16,color="green",shape="box"];8628[label="vuz3180",fontsize=16,color="green",shape="box"];8629[label="vuz3190",fontsize=16,color="green",shape="box"];8630[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat vuz489 vuz377) (fromInt (Pos Zero))) (primMinusNat vuz489 vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11065[label="vuz489/Succ vuz4890",fontsize=10,color="white",style="solid",shape="box"];8630 -> 11065[label="",style="solid", color="burlywood", weight=9]; 11065 -> 8802[label="",style="solid", color="burlywood", weight=3]; 11066[label="vuz489/Zero",fontsize=10,color="white",style="solid",shape="box"];8630 -> 11066[label="",style="solid", color="burlywood", weight=9]; 11066 -> 8803[label="",style="solid", color="burlywood", weight=3]; 8631[label="vuz3180",fontsize=16,color="green",shape="box"];8632[label="vuz3190",fontsize=16,color="green",shape="box"];8633[label="vuz3180",fontsize=16,color="green",shape="box"];8634[label="vuz3190",fontsize=16,color="green",shape="box"];8635 -> 8804[label="",style="dashed", color="red", weight=0]; 8635[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Neg (primPlusNat vuz377 vuz491)) (fromInt (Pos Zero))) (Neg (primPlusNat vuz377 vuz491)) (Neg vuz375))",fontsize=16,color="magenta"];8635 -> 8805[label="",style="dashed", color="magenta", weight=3]; 8635 -> 8806[label="",style="dashed", color="magenta", weight=3]; 8636[label="vuz3180",fontsize=16,color="green",shape="box"];8637[label="vuz3190",fontsize=16,color="green",shape="box"];8638[label="vuz3180",fontsize=16,color="green",shape="box"];8639[label="vuz3190",fontsize=16,color="green",shape="box"];8640 -> 8807[label="",style="dashed", color="red", weight=0]; 8640[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (Pos (primPlusNat vuz381 vuz493)) (fromInt (Pos Zero))) (Pos (primPlusNat vuz381 vuz493)) (Neg vuz379))",fontsize=16,color="magenta"];8640 -> 8808[label="",style="dashed", color="magenta", weight=3]; 8640 -> 8809[label="",style="dashed", color="magenta", weight=3]; 8641[label="vuz3180",fontsize=16,color="green",shape="box"];8642[label="vuz3190",fontsize=16,color="green",shape="box"];8643[label="vuz3180",fontsize=16,color="green",shape="box"];8644[label="vuz3190",fontsize=16,color="green",shape="box"];8645 -> 8630[label="",style="dashed", color="red", weight=0]; 8645[label="primQuotInt (Neg vuz378) (gcd2 (primEqInt (primMinusNat vuz381 vuz495) (fromInt (Pos Zero))) (primMinusNat vuz381 vuz495) (Neg vuz379))",fontsize=16,color="magenta"];8645 -> 8810[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8811[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8812[label="",style="dashed", color="magenta", weight=3]; 8645 -> 8813[label="",style="dashed", color="magenta", weight=3]; 8646[label="vuz3180",fontsize=16,color="green",shape="box"];8647[label="vuz3190",fontsize=16,color="green",shape="box"];8648[label="vuz3180",fontsize=16,color="green",shape="box"];8649[label="vuz3190",fontsize=16,color="green",shape="box"];8650[label="vuz3180",fontsize=16,color="green",shape="box"];8651[label="vuz3190",fontsize=16,color="green",shape="box"];8652[label="vuz3180",fontsize=16,color="green",shape="box"];8653[label="vuz3190",fontsize=16,color="green",shape="box"];8654[label="vuz3180",fontsize=16,color="green",shape="box"];8655[label="vuz3190",fontsize=16,color="green",shape="box"];8656[label="vuz3180",fontsize=16,color="green",shape="box"];8657[label="vuz3190",fontsize=16,color="green",shape="box"];8658[label="vuz3180",fontsize=16,color="green",shape="box"];8659[label="vuz3190",fontsize=16,color="green",shape="box"];8660[label="vuz3180",fontsize=16,color="green",shape="box"];8661[label="vuz3190",fontsize=16,color="green",shape="box"];8662[label="vuz3180",fontsize=16,color="green",shape="box"];8663[label="vuz3190",fontsize=16,color="green",shape="box"];8664[label="vuz3180",fontsize=16,color="green",shape="box"];8665[label="vuz3190",fontsize=16,color="green",shape="box"];8666[label="vuz3180",fontsize=16,color="green",shape="box"];8667[label="vuz3190",fontsize=16,color="green",shape="box"];8668[label="vuz3180",fontsize=16,color="green",shape="box"];8669[label="vuz3190",fontsize=16,color="green",shape="box"];8670[label="vuz3180",fontsize=16,color="green",shape="box"];8671[label="vuz3190",fontsize=16,color="green",shape="box"];8672[label="vuz3180",fontsize=16,color="green",shape="box"];8673[label="vuz3190",fontsize=16,color="green",shape="box"];8674[label="vuz3180",fontsize=16,color="green",shape="box"];8675[label="vuz3190",fontsize=16,color="green",shape="box"];8676[label="vuz3180",fontsize=16,color="green",shape="box"];8677[label="vuz3190",fontsize=16,color="green",shape="box"];8678[label="primQuotInt (Pos vuz398) (gcd0Gcd'2 (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8678 -> 8814[label="",style="solid", color="black", weight=3]; 9997 -> 9988[label="",style="dashed", color="red", weight=0]; 9997[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];9997 -> 10017[label="",style="dashed", color="magenta", weight=3]; 9997 -> 10018[label="",style="dashed", color="magenta", weight=3]; 8681[label="primQuotInt (Pos vuz398) (gcd1 False (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8681 -> 8815[label="",style="solid", color="black", weight=3]; 8682[label="primQuotInt (Pos vuz398) (gcd1 True (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8682 -> 8816[label="",style="solid", color="black", weight=3]; 8683 -> 7713[label="",style="dashed", color="red", weight=0]; 8683[label="primQuotInt (Pos (Succ vuz4010)) (gcd3 (Pos (Succ vuz4010)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8683 -> 8817[label="",style="dashed", color="magenta", weight=3]; 8683 -> 8818[label="",style="dashed", color="magenta", weight=3]; 8683 -> 8819[label="",style="dashed", color="magenta", weight=3]; 8684 -> 7809[label="",style="dashed", color="red", weight=0]; 8684[label="primQuotInt (Neg (Succ vuz4000)) (gcd3 (Neg (Succ vuz4000)) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8684 -> 8820[label="",style="dashed", color="magenta", weight=3]; 8684 -> 8821[label="",style="dashed", color="magenta", weight=3]; 8684 -> 8822[label="",style="dashed", color="magenta", weight=3]; 8685 -> 7713[label="",style="dashed", color="red", weight=0]; 8685[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8685 -> 8823[label="",style="dashed", color="magenta", weight=3]; 8685 -> 8824[label="",style="dashed", color="magenta", weight=3]; 8685 -> 8825[label="",style="dashed", color="magenta", weight=3]; 8686[label="Succ vuz4060",fontsize=16,color="green",shape="box"];8687[label="Zero",fontsize=16,color="green",shape="box"];8688[label="Succ vuz4060",fontsize=16,color="green",shape="box"];8689[label="Zero",fontsize=16,color="green",shape="box"];8690[label="Zero",fontsize=16,color="green",shape="box"];8691[label="Zero",fontsize=16,color="green",shape="box"];8692 -> 7667[label="",style="dashed", color="red", weight=0]; 8692[label="primQuotInt (Pos (Succ vuz4090)) (gcd3 (Pos (Succ vuz4090)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8692 -> 8826[label="",style="dashed", color="magenta", weight=3]; 8692 -> 8827[label="",style="dashed", color="magenta", weight=3]; 8692 -> 8828[label="",style="dashed", color="magenta", weight=3]; 8693 -> 7587[label="",style="dashed", color="red", weight=0]; 8693[label="primQuotInt (Neg (Succ vuz4080)) (gcd3 (Neg (Succ vuz4080)) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8693 -> 8829[label="",style="dashed", color="magenta", weight=3]; 8693 -> 8830[label="",style="dashed", color="magenta", weight=3]; 8693 -> 8831[label="",style="dashed", color="magenta", weight=3]; 8694 -> 7667[label="",style="dashed", color="red", weight=0]; 8694[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Pos (Succ vuz31700)))",fontsize=16,color="magenta"];8694 -> 8832[label="",style="dashed", color="magenta", weight=3]; 8694 -> 8833[label="",style="dashed", color="magenta", weight=3]; 8694 -> 8834[label="",style="dashed", color="magenta", weight=3]; 8695[label="Succ vuz4140",fontsize=16,color="green",shape="box"];8696[label="Zero",fontsize=16,color="green",shape="box"];8697[label="Succ vuz4140",fontsize=16,color="green",shape="box"];8698[label="Zero",fontsize=16,color="green",shape="box"];8699[label="Zero",fontsize=16,color="green",shape="box"];8700[label="Zero",fontsize=16,color="green",shape="box"];8701[label="primQuotInt (Pos vuz416) (gcd0Gcd'2 (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8701 -> 8835[label="",style="solid", color="black", weight=3]; 9998 -> 9988[label="",style="dashed", color="red", weight=0]; 9998[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];9998 -> 10019[label="",style="dashed", color="magenta", weight=3]; 9998 -> 10020[label="",style="dashed", color="magenta", weight=3]; 8704[label="primQuotInt (Pos vuz416) (gcd1 False (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8704 -> 8836[label="",style="solid", color="black", weight=3]; 8705[label="primQuotInt (Pos vuz416) (gcd1 True (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8705 -> 8837[label="",style="solid", color="black", weight=3]; 8706 -> 7598[label="",style="dashed", color="red", weight=0]; 8706[label="primQuotInt (Pos (Succ vuz4190)) (gcd3 (Pos (Succ vuz4190)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8706 -> 8838[label="",style="dashed", color="magenta", weight=3]; 8706 -> 8839[label="",style="dashed", color="magenta", weight=3]; 8706 -> 8840[label="",style="dashed", color="magenta", weight=3]; 8707 -> 7763[label="",style="dashed", color="red", weight=0]; 8707[label="primQuotInt (Neg (Succ vuz4180)) (gcd3 (Neg (Succ vuz4180)) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8707 -> 8841[label="",style="dashed", color="magenta", weight=3]; 8707 -> 8842[label="",style="dashed", color="magenta", weight=3]; 8707 -> 8843[label="",style="dashed", color="magenta", weight=3]; 8708 -> 7598[label="",style="dashed", color="red", weight=0]; 8708[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8708 -> 8844[label="",style="dashed", color="magenta", weight=3]; 8708 -> 8845[label="",style="dashed", color="magenta", weight=3]; 8708 -> 8846[label="",style="dashed", color="magenta", weight=3]; 8709[label="Succ vuz4240",fontsize=16,color="green",shape="box"];8710[label="Succ vuz4240",fontsize=16,color="green",shape="box"];8711[label="Zero",fontsize=16,color="green",shape="box"];8712[label="Zero",fontsize=16,color="green",shape="box"];8713[label="Zero",fontsize=16,color="green",shape="box"];8714[label="Zero",fontsize=16,color="green",shape="box"];8715[label="primQuotInt (Neg vuz426) (gcd0Gcd'2 (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8715 -> 8847[label="",style="solid", color="black", weight=3]; 9999 -> 9988[label="",style="dashed", color="red", weight=0]; 9999[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];9999 -> 10021[label="",style="dashed", color="magenta", weight=3]; 9999 -> 10022[label="",style="dashed", color="magenta", weight=3]; 8718[label="primQuotInt (Neg vuz426) (gcd1 False (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8718 -> 8848[label="",style="solid", color="black", weight=3]; 8719[label="primQuotInt (Neg vuz426) (gcd1 True (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8719 -> 8849[label="",style="solid", color="black", weight=3]; 8720[label="primQuotInt (Neg vuz428) (gcd0Gcd'2 (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8720 -> 8850[label="",style="solid", color="black", weight=3]; 10000 -> 9988[label="",style="dashed", color="red", weight=0]; 10000[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10000 -> 10023[label="",style="dashed", color="magenta", weight=3]; 10000 -> 10024[label="",style="dashed", color="magenta", weight=3]; 8723[label="primQuotInt (Neg vuz428) (gcd1 False (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8723 -> 8851[label="",style="solid", color="black", weight=3]; 8724[label="primQuotInt (Neg vuz428) (gcd1 True (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8724 -> 8852[label="",style="solid", color="black", weight=3]; 8725 -> 7613[label="",style="dashed", color="red", weight=0]; 8725[label="primQuotInt (Pos (Succ vuz4310)) (gcd3 (Pos (Succ vuz4310)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8725 -> 8853[label="",style="dashed", color="magenta", weight=3]; 8725 -> 8854[label="",style="dashed", color="magenta", weight=3]; 8725 -> 8855[label="",style="dashed", color="magenta", weight=3]; 8726 -> 7745[label="",style="dashed", color="red", weight=0]; 8726[label="primQuotInt (Neg (Succ vuz4300)) (gcd3 (Neg (Succ vuz4300)) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8726 -> 8856[label="",style="dashed", color="magenta", weight=3]; 8726 -> 8857[label="",style="dashed", color="magenta", weight=3]; 8726 -> 8858[label="",style="dashed", color="magenta", weight=3]; 8727 -> 7613[label="",style="dashed", color="red", weight=0]; 8727[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg (Succ vuz31900) * Neg vuz3170))",fontsize=16,color="magenta"];8727 -> 8859[label="",style="dashed", color="magenta", weight=3]; 8727 -> 8860[label="",style="dashed", color="magenta", weight=3]; 8727 -> 8861[label="",style="dashed", color="magenta", weight=3]; 8728[label="Succ vuz4360",fontsize=16,color="green",shape="box"];8729[label="Zero",fontsize=16,color="green",shape="box"];8730[label="Succ vuz4360",fontsize=16,color="green",shape="box"];8731[label="Zero",fontsize=16,color="green",shape="box"];8732[label="Zero",fontsize=16,color="green",shape="box"];8733[label="Zero",fontsize=16,color="green",shape="box"];8734 -> 7667[label="",style="dashed", color="red", weight=0]; 8734[label="primQuotInt (Pos (Succ vuz4390)) (gcd3 (Pos (Succ vuz4390)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8734 -> 8862[label="",style="dashed", color="magenta", weight=3]; 8734 -> 8863[label="",style="dashed", color="magenta", weight=3]; 8734 -> 8864[label="",style="dashed", color="magenta", weight=3]; 8735 -> 7587[label="",style="dashed", color="red", weight=0]; 8735[label="primQuotInt (Neg (Succ vuz4380)) (gcd3 (Neg (Succ vuz4380)) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8735 -> 8865[label="",style="dashed", color="magenta", weight=3]; 8735 -> 8866[label="",style="dashed", color="magenta", weight=3]; 8735 -> 8867[label="",style="dashed", color="magenta", weight=3]; 8736 -> 7667[label="",style="dashed", color="red", weight=0]; 8736[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8736 -> 8868[label="",style="dashed", color="magenta", weight=3]; 8736 -> 8869[label="",style="dashed", color="magenta", weight=3]; 8736 -> 8870[label="",style="dashed", color="magenta", weight=3]; 8737[label="Succ vuz4440",fontsize=16,color="green",shape="box"];8738[label="Zero",fontsize=16,color="green",shape="box"];8739[label="Succ vuz4440",fontsize=16,color="green",shape="box"];8740[label="Zero",fontsize=16,color="green",shape="box"];8741[label="Zero",fontsize=16,color="green",shape="box"];8742[label="Zero",fontsize=16,color="green",shape="box"];8743[label="primQuotInt (Neg vuz446) (gcd0Gcd'2 (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8743 -> 8871[label="",style="solid", color="black", weight=3]; 10001 -> 9988[label="",style="dashed", color="red", weight=0]; 10001[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10001 -> 10025[label="",style="dashed", color="magenta", weight=3]; 10001 -> 10026[label="",style="dashed", color="magenta", weight=3]; 8746[label="primQuotInt (Neg vuz446) (gcd1 False (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8746 -> 8872[label="",style="solid", color="black", weight=3]; 8747[label="primQuotInt (Neg vuz446) (gcd1 True (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8747 -> 8873[label="",style="solid", color="black", weight=3]; 8748[label="primQuotInt (Neg vuz348) (gcd0Gcd'2 (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="black",shape="box"];8748 -> 8874[label="",style="solid", color="black", weight=3]; 10002 -> 9988[label="",style="dashed", color="red", weight=0]; 10002[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10002 -> 10027[label="",style="dashed", color="magenta", weight=3]; 10002 -> 10028[label="",style="dashed", color="magenta", weight=3]; 8751[label="primQuotInt (Neg vuz348) (gcd1 False (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8751 -> 8875[label="",style="solid", color="black", weight=3]; 8752[label="primQuotInt (Neg vuz348) (gcd1 True (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="black",shape="box"];8752 -> 8876[label="",style="solid", color="black", weight=3]; 8753 -> 7713[label="",style="dashed", color="red", weight=0]; 8753[label="primQuotInt (Pos (Succ vuz4490)) (gcd3 (Pos (Succ vuz4490)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8753 -> 8877[label="",style="dashed", color="magenta", weight=3]; 8753 -> 8878[label="",style="dashed", color="magenta", weight=3]; 8753 -> 8879[label="",style="dashed", color="magenta", weight=3]; 8754 -> 7809[label="",style="dashed", color="red", weight=0]; 8754[label="primQuotInt (Neg (Succ vuz4480)) (gcd3 (Neg (Succ vuz4480)) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8754 -> 8880[label="",style="dashed", color="magenta", weight=3]; 8754 -> 8881[label="",style="dashed", color="magenta", weight=3]; 8754 -> 8882[label="",style="dashed", color="magenta", weight=3]; 8755 -> 7713[label="",style="dashed", color="red", weight=0]; 8755[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg (Succ vuz31900) * Pos vuz3170))",fontsize=16,color="magenta"];8755 -> 8883[label="",style="dashed", color="magenta", weight=3]; 8755 -> 8884[label="",style="dashed", color="magenta", weight=3]; 8755 -> 8885[label="",style="dashed", color="magenta", weight=3]; 8756[label="Succ vuz4540",fontsize=16,color="green",shape="box"];8757[label="Zero",fontsize=16,color="green",shape="box"];8758[label="Succ vuz4540",fontsize=16,color="green",shape="box"];8759[label="Zero",fontsize=16,color="green",shape="box"];8760[label="Zero",fontsize=16,color="green",shape="box"];8761[label="Zero",fontsize=16,color="green",shape="box"];8762[label="primQuotInt (Pos vuz354) (gcd0Gcd'2 (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8762 -> 8886[label="",style="solid", color="black", weight=3]; 10003 -> 9988[label="",style="dashed", color="red", weight=0]; 10003[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10003 -> 10029[label="",style="dashed", color="magenta", weight=3]; 10003 -> 10030[label="",style="dashed", color="magenta", weight=3]; 8765[label="primQuotInt (Pos vuz354) (gcd1 False (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8765 -> 8887[label="",style="solid", color="black", weight=3]; 8766[label="primQuotInt (Pos vuz354) (gcd1 True (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8766 -> 8888[label="",style="solid", color="black", weight=3]; 8767 -> 7613[label="",style="dashed", color="red", weight=0]; 8767[label="primQuotInt (Pos (Succ vuz4570)) (gcd3 (Pos (Succ vuz4570)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8767 -> 8889[label="",style="dashed", color="magenta", weight=3]; 8767 -> 8890[label="",style="dashed", color="magenta", weight=3]; 8767 -> 8891[label="",style="dashed", color="magenta", weight=3]; 8768 -> 7745[label="",style="dashed", color="red", weight=0]; 8768[label="primQuotInt (Neg (Succ vuz4560)) (gcd3 (Neg (Succ vuz4560)) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8768 -> 8892[label="",style="dashed", color="magenta", weight=3]; 8768 -> 8893[label="",style="dashed", color="magenta", weight=3]; 8768 -> 8894[label="",style="dashed", color="magenta", weight=3]; 8769 -> 7613[label="",style="dashed", color="red", weight=0]; 8769[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Neg vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8769 -> 8895[label="",style="dashed", color="magenta", weight=3]; 8769 -> 8896[label="",style="dashed", color="magenta", weight=3]; 8769 -> 8897[label="",style="dashed", color="magenta", weight=3]; 8770[label="Succ vuz4620",fontsize=16,color="green",shape="box"];8771[label="Zero",fontsize=16,color="green",shape="box"];8772[label="Succ vuz4620",fontsize=16,color="green",shape="box"];8773[label="Zero",fontsize=16,color="green",shape="box"];8774[label="Zero",fontsize=16,color="green",shape="box"];8775[label="Zero",fontsize=16,color="green",shape="box"];8776 -> 7598[label="",style="dashed", color="red", weight=0]; 8776[label="primQuotInt (Pos (Succ vuz4650)) (gcd3 (Pos (Succ vuz4650)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8776 -> 8898[label="",style="dashed", color="magenta", weight=3]; 8776 -> 8899[label="",style="dashed", color="magenta", weight=3]; 8776 -> 8900[label="",style="dashed", color="magenta", weight=3]; 8777 -> 7763[label="",style="dashed", color="red", weight=0]; 8777[label="primQuotInt (Neg (Succ vuz4640)) (gcd3 (Neg (Succ vuz4640)) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8777 -> 8901[label="",style="dashed", color="magenta", weight=3]; 8777 -> 8902[label="",style="dashed", color="magenta", weight=3]; 8777 -> 8903[label="",style="dashed", color="magenta", weight=3]; 8778 -> 7598[label="",style="dashed", color="red", weight=0]; 8778[label="primQuotInt (Pos Zero) (gcd3 (Pos Zero) (Pos vuz3190 * Neg (Succ vuz31700)))",fontsize=16,color="magenta"];8778 -> 8904[label="",style="dashed", color="magenta", weight=3]; 8778 -> 8905[label="",style="dashed", color="magenta", weight=3]; 8778 -> 8906[label="",style="dashed", color="magenta", weight=3]; 8779[label="Succ vuz4700",fontsize=16,color="green",shape="box"];8780[label="Succ vuz4700",fontsize=16,color="green",shape="box"];8781[label="Zero",fontsize=16,color="green",shape="box"];8782[label="Zero",fontsize=16,color="green",shape="box"];8783[label="Zero",fontsize=16,color="green",shape="box"];8784[label="Zero",fontsize=16,color="green",shape="box"];8785[label="primQuotInt (Pos vuz360) (gcd0Gcd'2 (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="black",shape="box"];8785 -> 8907[label="",style="solid", color="black", weight=3]; 10004 -> 9988[label="",style="dashed", color="red", weight=0]; 10004[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10004 -> 10031[label="",style="dashed", color="magenta", weight=3]; 10004 -> 10032[label="",style="dashed", color="magenta", weight=3]; 8788[label="primQuotInt (Pos vuz360) (gcd1 False (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8788 -> 8908[label="",style="solid", color="black", weight=3]; 8789[label="primQuotInt (Pos vuz360) (gcd1 True (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="black",shape="box"];8789 -> 8909[label="",style="solid", color="black", weight=3]; 8791 -> 7571[label="",style="dashed", color="red", weight=0]; 8791[label="primPlusNat vuz369 vuz481",fontsize=16,color="magenta"];8791 -> 8910[label="",style="dashed", color="magenta", weight=3]; 8791 -> 8911[label="",style="dashed", color="magenta", weight=3]; 8792 -> 7479[label="",style="dashed", color="red", weight=0]; 8792[label="primEqInt (Pos (primPlusNat vuz369 vuz481)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8792 -> 8912[label="",style="dashed", color="magenta", weight=3]; 8790[label="primQuotInt (Pos vuz366) (gcd2 vuz504 (Pos vuz505) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11067[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8790 -> 11067[label="",style="solid", color="burlywood", weight=9]; 11067 -> 8913[label="",style="solid", color="burlywood", weight=3]; 11068[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8790 -> 11068[label="",style="solid", color="burlywood", weight=9]; 11068 -> 8914[label="",style="solid", color="burlywood", weight=3]; 8793[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) vuz483) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];11069[label="vuz483/Succ vuz4830",fontsize=10,color="white",style="solid",shape="box"];8793 -> 11069[label="",style="solid", color="burlywood", weight=9]; 11069 -> 8915[label="",style="solid", color="burlywood", weight=3]; 11070[label="vuz483/Zero",fontsize=10,color="white",style="solid",shape="box"];8793 -> 11070[label="",style="solid", color="burlywood", weight=9]; 11070 -> 8916[label="",style="solid", color="burlywood", weight=3]; 8794[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero vuz483) (fromInt (Pos Zero))) (primMinusNat Zero vuz483) (Pos vuz367))",fontsize=16,color="burlywood",shape="box"];11071[label="vuz483/Succ vuz4830",fontsize=10,color="white",style="solid",shape="box"];8794 -> 11071[label="",style="solid", color="burlywood", weight=9]; 11071 -> 8917[label="",style="solid", color="burlywood", weight=3]; 11072[label="vuz483/Zero",fontsize=10,color="white",style="solid",shape="box"];8794 -> 11072[label="",style="solid", color="burlywood", weight=9]; 11072 -> 8918[label="",style="solid", color="burlywood", weight=3]; 8795[label="vuz371",fontsize=16,color="green",shape="box"];8796[label="vuz485",fontsize=16,color="green",shape="box"];8797[label="vuz373",fontsize=16,color="green",shape="box"];8798[label="vuz370",fontsize=16,color="green",shape="box"];8800 -> 7498[label="",style="dashed", color="red", weight=0]; 8800[label="primEqInt (Neg (primPlusNat vuz373 vuz487)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8800 -> 8919[label="",style="dashed", color="magenta", weight=3]; 8801 -> 7571[label="",style="dashed", color="red", weight=0]; 8801[label="primPlusNat vuz373 vuz487",fontsize=16,color="magenta"];8801 -> 8920[label="",style="dashed", color="magenta", weight=3]; 8801 -> 8921[label="",style="dashed", color="magenta", weight=3]; 8799[label="primQuotInt (Pos vuz370) (gcd2 vuz507 (Neg vuz508) (Pos vuz371))",fontsize=16,color="burlywood",shape="triangle"];11073[label="vuz507/False",fontsize=10,color="white",style="solid",shape="box"];8799 -> 11073[label="",style="solid", color="burlywood", weight=9]; 11073 -> 8922[label="",style="solid", color="burlywood", weight=3]; 11074[label="vuz507/True",fontsize=10,color="white",style="solid",shape="box"];8799 -> 11074[label="",style="solid", color="burlywood", weight=9]; 11074 -> 8923[label="",style="solid", color="burlywood", weight=3]; 8802[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) vuz377) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];11075[label="vuz377/Succ vuz3770",fontsize=10,color="white",style="solid",shape="box"];8802 -> 11075[label="",style="solid", color="burlywood", weight=9]; 11075 -> 8924[label="",style="solid", color="burlywood", weight=3]; 11076[label="vuz377/Zero",fontsize=10,color="white",style="solid",shape="box"];8802 -> 11076[label="",style="solid", color="burlywood", weight=9]; 11076 -> 8925[label="",style="solid", color="burlywood", weight=3]; 8803[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero vuz377) (fromInt (Pos Zero))) (primMinusNat Zero vuz377) (Neg vuz375))",fontsize=16,color="burlywood",shape="box"];11077[label="vuz377/Succ vuz3770",fontsize=10,color="white",style="solid",shape="box"];8803 -> 11077[label="",style="solid", color="burlywood", weight=9]; 11077 -> 8926[label="",style="solid", color="burlywood", weight=3]; 11078[label="vuz377/Zero",fontsize=10,color="white",style="solid",shape="box"];8803 -> 11078[label="",style="solid", color="burlywood", weight=9]; 11078 -> 8927[label="",style="solid", color="burlywood", weight=3]; 8805 -> 7498[label="",style="dashed", color="red", weight=0]; 8805[label="primEqInt (Neg (primPlusNat vuz377 vuz491)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8805 -> 8928[label="",style="dashed", color="magenta", weight=3]; 8806 -> 7571[label="",style="dashed", color="red", weight=0]; 8806[label="primPlusNat vuz377 vuz491",fontsize=16,color="magenta"];8806 -> 8929[label="",style="dashed", color="magenta", weight=3]; 8806 -> 8930[label="",style="dashed", color="magenta", weight=3]; 8804[label="primQuotInt (Neg vuz374) (gcd2 vuz510 (Neg vuz511) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11079[label="vuz510/False",fontsize=10,color="white",style="solid",shape="box"];8804 -> 11079[label="",style="solid", color="burlywood", weight=9]; 11079 -> 8931[label="",style="solid", color="burlywood", weight=3]; 11080[label="vuz510/True",fontsize=10,color="white",style="solid",shape="box"];8804 -> 11080[label="",style="solid", color="burlywood", weight=9]; 11080 -> 8932[label="",style="solid", color="burlywood", weight=3]; 8808 -> 7479[label="",style="dashed", color="red", weight=0]; 8808[label="primEqInt (Pos (primPlusNat vuz381 vuz493)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8808 -> 8933[label="",style="dashed", color="magenta", weight=3]; 8809 -> 7571[label="",style="dashed", color="red", weight=0]; 8809[label="primPlusNat vuz381 vuz493",fontsize=16,color="magenta"];8809 -> 8934[label="",style="dashed", color="magenta", weight=3]; 8809 -> 8935[label="",style="dashed", color="magenta", weight=3]; 8807[label="primQuotInt (Neg vuz378) (gcd2 vuz513 (Pos vuz514) (Neg vuz379))",fontsize=16,color="burlywood",shape="triangle"];11081[label="vuz513/False",fontsize=10,color="white",style="solid",shape="box"];8807 -> 11081[label="",style="solid", color="burlywood", weight=9]; 11081 -> 8936[label="",style="solid", color="burlywood", weight=3]; 11082[label="vuz513/True",fontsize=10,color="white",style="solid",shape="box"];8807 -> 11082[label="",style="solid", color="burlywood", weight=9]; 11082 -> 8937[label="",style="solid", color="burlywood", weight=3]; 8810[label="vuz379",fontsize=16,color="green",shape="box"];8811[label="vuz381",fontsize=16,color="green",shape="box"];8812[label="vuz378",fontsize=16,color="green",shape="box"];8813[label="vuz495",fontsize=16,color="green",shape="box"];8814 -> 9854[label="",style="dashed", color="red", weight=0]; 8814[label="primQuotInt (Pos vuz398) (gcd0Gcd'1 (abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz399)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8814 -> 9855[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9856[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9857[label="",style="dashed", color="magenta", weight=3]; 8814 -> 9858[label="",style="dashed", color="magenta", weight=3]; 10017[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10018[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8815 -> 8373[label="",style="dashed", color="red", weight=0]; 8815[label="primQuotInt (Pos vuz398) (gcd0 (Pos vuz399) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8816[label="primQuotInt (Pos vuz398) (error [])",fontsize=16,color="black",shape="triangle"];8816 -> 8939[label="",style="solid", color="black", weight=3]; 8817[label="Succ vuz4010",fontsize=16,color="green",shape="box"];8818[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8819[label="Succ vuz4010",fontsize=16,color="green",shape="box"];8820[label="Succ vuz4000",fontsize=16,color="green",shape="box"];8821[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8822[label="Succ vuz4000",fontsize=16,color="green",shape="box"];8823[label="Zero",fontsize=16,color="green",shape="box"];8824[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8825[label="Zero",fontsize=16,color="green",shape="box"];8826[label="Succ vuz4090",fontsize=16,color="green",shape="box"];8827[label="Succ vuz4090",fontsize=16,color="green",shape="box"];8828[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8829[label="Succ vuz4080",fontsize=16,color="green",shape="box"];8830[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8831[label="Succ vuz4080",fontsize=16,color="green",shape="box"];8832[label="Zero",fontsize=16,color="green",shape="box"];8833[label="Zero",fontsize=16,color="green",shape="box"];8834[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8835 -> 9854[label="",style="dashed", color="red", weight=0]; 8835[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 (abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz417)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8835 -> 9859[label="",style="dashed", color="magenta", weight=3]; 8835 -> 9860[label="",style="dashed", color="magenta", weight=3]; 8835 -> 9861[label="",style="dashed", color="magenta", weight=3]; 10019[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10020[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8836 -> 8387[label="",style="dashed", color="red", weight=0]; 8836[label="primQuotInt (Pos vuz416) (gcd0 (Pos vuz417) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8837 -> 8816[label="",style="dashed", color="red", weight=0]; 8837[label="primQuotInt (Pos vuz416) (error [])",fontsize=16,color="magenta"];8837 -> 8941[label="",style="dashed", color="magenta", weight=3]; 8838[label="Succ vuz4190",fontsize=16,color="green",shape="box"];8839[label="Succ vuz4190",fontsize=16,color="green",shape="box"];8840[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8841[label="Succ vuz4180",fontsize=16,color="green",shape="box"];8842[label="Succ vuz4180",fontsize=16,color="green",shape="box"];8843[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8844[label="Zero",fontsize=16,color="green",shape="box"];8845[label="Zero",fontsize=16,color="green",shape="box"];8846[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8847 -> 10039[label="",style="dashed", color="red", weight=0]; 8847[label="primQuotInt (Neg vuz426) (gcd0Gcd'1 (abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz427)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8847 -> 10040[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10041[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10042[label="",style="dashed", color="magenta", weight=3]; 8847 -> 10043[label="",style="dashed", color="magenta", weight=3]; 10021[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10022[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8848 -> 8396[label="",style="dashed", color="red", weight=0]; 8848[label="primQuotInt (Neg vuz426) (gcd0 (Neg vuz427) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8849[label="primQuotInt (Neg vuz426) (error [])",fontsize=16,color="black",shape="triangle"];8849 -> 8943[label="",style="solid", color="black", weight=3]; 8850 -> 10039[label="",style="dashed", color="red", weight=0]; 8850[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 (abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz429)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8850 -> 10044[label="",style="dashed", color="magenta", weight=3]; 8850 -> 10045[label="",style="dashed", color="magenta", weight=3]; 8850 -> 10046[label="",style="dashed", color="magenta", weight=3]; 10023[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10024[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8851 -> 8398[label="",style="dashed", color="red", weight=0]; 8851[label="primQuotInt (Neg vuz428) (gcd0 (Neg vuz429) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8852 -> 8849[label="",style="dashed", color="red", weight=0]; 8852[label="primQuotInt (Neg vuz428) (error [])",fontsize=16,color="magenta"];8852 -> 8945[label="",style="dashed", color="magenta", weight=3]; 8853[label="Succ vuz4310",fontsize=16,color="green",shape="box"];8854[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8855[label="Succ vuz4310",fontsize=16,color="green",shape="box"];8856[label="Succ vuz4300",fontsize=16,color="green",shape="box"];8857[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8858[label="Succ vuz4300",fontsize=16,color="green",shape="box"];8859[label="Zero",fontsize=16,color="green",shape="box"];8860[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8861[label="Zero",fontsize=16,color="green",shape="box"];8862[label="Succ vuz4390",fontsize=16,color="green",shape="box"];8863[label="Succ vuz4390",fontsize=16,color="green",shape="box"];8864[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8865[label="Succ vuz4380",fontsize=16,color="green",shape="box"];8866[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8867[label="Succ vuz4380",fontsize=16,color="green",shape="box"];8868[label="Zero",fontsize=16,color="green",shape="box"];8869[label="Zero",fontsize=16,color="green",shape="box"];8870[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8871 -> 10039[label="",style="dashed", color="red", weight=0]; 8871[label="primQuotInt (Neg vuz446) (gcd0Gcd'1 (abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz447)) (abs (Neg vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8871 -> 10047[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10048[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10049[label="",style="dashed", color="magenta", weight=3]; 8871 -> 10050[label="",style="dashed", color="magenta", weight=3]; 10025[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10026[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8872 -> 8412[label="",style="dashed", color="red", weight=0]; 8872[label="primQuotInt (Neg vuz446) (gcd0 (Neg vuz447) (Neg vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8873 -> 8849[label="",style="dashed", color="red", weight=0]; 8873[label="primQuotInt (Neg vuz446) (error [])",fontsize=16,color="magenta"];8873 -> 8947[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10039[label="",style="dashed", color="red", weight=0]; 8874[label="primQuotInt (Neg vuz348) (gcd0Gcd'1 (abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)) (abs (Neg vuz349)) (abs (Pos vuz3190 * Pos vuz3170)))",fontsize=16,color="magenta"];8874 -> 10051[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10052[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10053[label="",style="dashed", color="magenta", weight=3]; 8874 -> 10054[label="",style="dashed", color="magenta", weight=3]; 10027[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10028[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8875 -> 8414[label="",style="dashed", color="red", weight=0]; 8875[label="primQuotInt (Neg vuz348) (gcd0 (Neg vuz349) (Pos vuz3190 * Pos vuz3170))",fontsize=16,color="magenta"];8876 -> 8849[label="",style="dashed", color="red", weight=0]; 8876[label="primQuotInt (Neg vuz348) (error [])",fontsize=16,color="magenta"];8876 -> 8949[label="",style="dashed", color="magenta", weight=3]; 8877[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8878[label="Succ vuz4490",fontsize=16,color="green",shape="box"];8879[label="Succ vuz4490",fontsize=16,color="green",shape="box"];8880[label="Succ vuz4480",fontsize=16,color="green",shape="box"];8881[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8882[label="Succ vuz4480",fontsize=16,color="green",shape="box"];8883[label="Succ vuz31900",fontsize=16,color="green",shape="box"];8884[label="Zero",fontsize=16,color="green",shape="box"];8885[label="Zero",fontsize=16,color="green",shape="box"];8886 -> 9854[label="",style="dashed", color="red", weight=0]; 8886[label="primQuotInt (Pos vuz354) (gcd0Gcd'1 (abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz355)) (abs (Pos vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8886 -> 9862[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9863[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9864[label="",style="dashed", color="magenta", weight=3]; 8886 -> 9865[label="",style="dashed", color="magenta", weight=3]; 10029[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10030[label="Pos vuz3190",fontsize=16,color="green",shape="box"];8887 -> 8422[label="",style="dashed", color="red", weight=0]; 8887[label="primQuotInt (Pos vuz354) (gcd0 (Pos vuz355) (Pos vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8888 -> 8816[label="",style="dashed", color="red", weight=0]; 8888[label="primQuotInt (Pos vuz354) (error [])",fontsize=16,color="magenta"];8888 -> 8951[label="",style="dashed", color="magenta", weight=3]; 8889[label="Succ vuz4570",fontsize=16,color="green",shape="box"];8890[label="Succ vuz4570",fontsize=16,color="green",shape="box"];8891[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8892[label="Succ vuz4560",fontsize=16,color="green",shape="box"];8893[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8894[label="Succ vuz4560",fontsize=16,color="green",shape="box"];8895[label="Zero",fontsize=16,color="green",shape="box"];8896[label="Zero",fontsize=16,color="green",shape="box"];8897[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8898[label="Succ vuz4650",fontsize=16,color="green",shape="box"];8899[label="Succ vuz4650",fontsize=16,color="green",shape="box"];8900[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8901[label="Succ vuz4640",fontsize=16,color="green",shape="box"];8902[label="Succ vuz4640",fontsize=16,color="green",shape="box"];8903[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8904[label="Zero",fontsize=16,color="green",shape="box"];8905[label="Zero",fontsize=16,color="green",shape="box"];8906[label="Succ vuz31700",fontsize=16,color="green",shape="box"];8907 -> 9854[label="",style="dashed", color="red", weight=0]; 8907[label="primQuotInt (Pos vuz360) (gcd0Gcd'1 (abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)) (abs (Pos vuz361)) (abs (Neg vuz3190 * Neg vuz3170)))",fontsize=16,color="magenta"];8907 -> 9866[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9867[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9868[label="",style="dashed", color="magenta", weight=3]; 8907 -> 9869[label="",style="dashed", color="magenta", weight=3]; 10031[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10032[label="Neg vuz3190",fontsize=16,color="green",shape="box"];8908 -> 8436[label="",style="dashed", color="red", weight=0]; 8908[label="primQuotInt (Pos vuz360) (gcd0 (Pos vuz361) (Neg vuz3190 * Neg vuz3170))",fontsize=16,color="magenta"];8909 -> 8816[label="",style="dashed", color="red", weight=0]; 8909[label="primQuotInt (Pos vuz360) (error [])",fontsize=16,color="magenta"];8909 -> 8953[label="",style="dashed", color="magenta", weight=3]; 8910[label="vuz369",fontsize=16,color="green",shape="box"];8911[label="vuz481",fontsize=16,color="green",shape="box"];8912 -> 7571[label="",style="dashed", color="red", weight=0]; 8912[label="primPlusNat vuz369 vuz481",fontsize=16,color="magenta"];8912 -> 8954[label="",style="dashed", color="magenta", weight=3]; 8912 -> 8955[label="",style="dashed", color="magenta", weight=3]; 7479[label="primEqInt (Pos vuz325) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];11083[label="vuz325/Succ vuz3250",fontsize=10,color="white",style="solid",shape="box"];7479 -> 11083[label="",style="solid", color="burlywood", weight=9]; 11083 -> 7494[label="",style="solid", color="burlywood", weight=3]; 11084[label="vuz325/Zero",fontsize=10,color="white",style="solid",shape="box"];7479 -> 11084[label="",style="solid", color="burlywood", weight=9]; 11084 -> 7495[label="",style="solid", color="burlywood", weight=3]; 8913[label="primQuotInt (Pos vuz366) (gcd2 False (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];8913 -> 8956[label="",style="solid", color="black", weight=3]; 8914[label="primQuotInt (Pos vuz366) (gcd2 True (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];8914 -> 8957[label="",style="solid", color="black", weight=3]; 8915[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) (Succ vuz4830)) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="black",shape="box"];8915 -> 8958[label="",style="solid", color="black", weight=3]; 8916[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat (Succ vuz3690) Zero) (fromInt (Pos Zero))) (primMinusNat (Succ vuz3690) Zero) (Pos vuz367))",fontsize=16,color="black",shape="box"];8916 -> 8959[label="",style="solid", color="black", weight=3]; 8917[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero (Succ vuz4830)) (fromInt (Pos Zero))) (primMinusNat Zero (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="black",shape="box"];8917 -> 8960[label="",style="solid", color="black", weight=3]; 8918[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) (primMinusNat Zero Zero) (Pos vuz367))",fontsize=16,color="black",shape="box"];8918 -> 8961[label="",style="solid", color="black", weight=3]; 8919 -> 7571[label="",style="dashed", color="red", weight=0]; 8919[label="primPlusNat vuz373 vuz487",fontsize=16,color="magenta"];8919 -> 8962[label="",style="dashed", color="magenta", weight=3]; 8919 -> 8963[label="",style="dashed", color="magenta", weight=3]; 7498[label="primEqInt (Neg vuz326) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];11085[label="vuz326/Succ vuz3260",fontsize=10,color="white",style="solid",shape="box"];7498 -> 11085[label="",style="solid", color="burlywood", weight=9]; 11085 -> 7512[label="",style="solid", color="burlywood", weight=3]; 11086[label="vuz326/Zero",fontsize=10,color="white",style="solid",shape="box"];7498 -> 11086[label="",style="solid", color="burlywood", weight=9]; 11086 -> 7513[label="",style="solid", color="burlywood", weight=3]; 8920[label="vuz373",fontsize=16,color="green",shape="box"];8921[label="vuz487",fontsize=16,color="green",shape="box"];8922[label="primQuotInt (Pos vuz370) (gcd2 False (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];8922 -> 8964[label="",style="solid", color="black", weight=3]; 8923[label="primQuotInt (Pos vuz370) (gcd2 True (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];8923 -> 8965[label="",style="solid", color="black", weight=3]; 8924[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) (Succ vuz3770)) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="black",shape="box"];8924 -> 8966[label="",style="solid", color="black", weight=3]; 8925[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat (Succ vuz4890) Zero) (fromInt (Pos Zero))) (primMinusNat (Succ vuz4890) Zero) (Neg vuz375))",fontsize=16,color="black",shape="box"];8925 -> 8967[label="",style="solid", color="black", weight=3]; 8926[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero (Succ vuz3770)) (fromInt (Pos Zero))) (primMinusNat Zero (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="black",shape="box"];8926 -> 8968[label="",style="solid", color="black", weight=3]; 8927[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) (primMinusNat Zero Zero) (Neg vuz375))",fontsize=16,color="black",shape="box"];8927 -> 8969[label="",style="solid", color="black", weight=3]; 8928 -> 7571[label="",style="dashed", color="red", weight=0]; 8928[label="primPlusNat vuz377 vuz491",fontsize=16,color="magenta"];8928 -> 8970[label="",style="dashed", color="magenta", weight=3]; 8928 -> 8971[label="",style="dashed", color="magenta", weight=3]; 8929[label="vuz377",fontsize=16,color="green",shape="box"];8930[label="vuz491",fontsize=16,color="green",shape="box"];8931[label="primQuotInt (Neg vuz374) (gcd2 False (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];8931 -> 8972[label="",style="solid", color="black", weight=3]; 8932[label="primQuotInt (Neg vuz374) (gcd2 True (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];8932 -> 8973[label="",style="solid", color="black", weight=3]; 8933 -> 7571[label="",style="dashed", color="red", weight=0]; 8933[label="primPlusNat vuz381 vuz493",fontsize=16,color="magenta"];8933 -> 8974[label="",style="dashed", color="magenta", weight=3]; 8933 -> 8975[label="",style="dashed", color="magenta", weight=3]; 8934[label="vuz381",fontsize=16,color="green",shape="box"];8935[label="vuz493",fontsize=16,color="green",shape="box"];8936[label="primQuotInt (Neg vuz378) (gcd2 False (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];8936 -> 8976[label="",style="solid", color="black", weight=3]; 8937[label="primQuotInt (Neg vuz378) (gcd2 True (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];8937 -> 8977[label="",style="solid", color="black", weight=3]; 9855 -> 9987[label="",style="dashed", color="red", weight=0]; 9855[label="abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9855 -> 10005[label="",style="dashed", color="magenta", weight=3]; 9856[label="vuz398",fontsize=16,color="green",shape="box"];9857[label="abs (Pos vuz399)",fontsize=16,color="black",shape="triangle"];9857 -> 10033[label="",style="solid", color="black", weight=3]; 9858 -> 9366[label="",style="dashed", color="red", weight=0]; 9858[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];9854[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 vuz550 vuz549 vuz542)",fontsize=16,color="burlywood",shape="triangle"];11087[label="vuz550/False",fontsize=10,color="white",style="solid",shape="box"];9854 -> 11087[label="",style="solid", color="burlywood", weight=9]; 11087 -> 10034[label="",style="solid", color="burlywood", weight=3]; 11088[label="vuz550/True",fontsize=10,color="white",style="solid",shape="box"];9854 -> 11088[label="",style="solid", color="burlywood", weight=9]; 11088 -> 10035[label="",style="solid", color="burlywood", weight=3]; 8939[label="error []",fontsize=16,color="red",shape="box"];9859 -> 9987[label="",style="dashed", color="red", weight=0]; 9859[label="abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9859 -> 10006[label="",style="dashed", color="magenta", weight=3]; 9860 -> 9857[label="",style="dashed", color="red", weight=0]; 9860[label="abs (Pos vuz417)",fontsize=16,color="magenta"];9860 -> 10036[label="",style="dashed", color="magenta", weight=3]; 9861 -> 9369[label="",style="dashed", color="red", weight=0]; 9861[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];8941[label="vuz416",fontsize=16,color="green",shape="box"];10040[label="vuz426",fontsize=16,color="green",shape="box"];10041 -> 9376[label="",style="dashed", color="red", weight=0]; 10041[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10042[label="abs (Neg vuz427)",fontsize=16,color="black",shape="triangle"];10042 -> 10172[label="",style="solid", color="black", weight=3]; 10043 -> 9987[label="",style="dashed", color="red", weight=0]; 10043[label="abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10043 -> 10173[label="",style="dashed", color="magenta", weight=3]; 10039[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 vuz553 vuz552 vuz544)",fontsize=16,color="burlywood",shape="triangle"];11089[label="vuz553/False",fontsize=10,color="white",style="solid",shape="box"];10039 -> 11089[label="",style="solid", color="burlywood", weight=9]; 11089 -> 10174[label="",style="solid", color="burlywood", weight=3]; 11090[label="vuz553/True",fontsize=10,color="white",style="solid",shape="box"];10039 -> 11090[label="",style="solid", color="burlywood", weight=9]; 11090 -> 10175[label="",style="solid", color="burlywood", weight=3]; 8943[label="error []",fontsize=16,color="red",shape="box"];10044 -> 9372[label="",style="dashed", color="red", weight=0]; 10044[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10045 -> 10042[label="",style="dashed", color="red", weight=0]; 10045[label="abs (Neg vuz429)",fontsize=16,color="magenta"];10045 -> 10176[label="",style="dashed", color="magenta", weight=3]; 10046 -> 9987[label="",style="dashed", color="red", weight=0]; 10046[label="abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10046 -> 10177[label="",style="dashed", color="magenta", weight=3]; 8945[label="vuz428",fontsize=16,color="green",shape="box"];10047[label="vuz446",fontsize=16,color="green",shape="box"];10048 -> 9369[label="",style="dashed", color="red", weight=0]; 10048[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10049 -> 10042[label="",style="dashed", color="red", weight=0]; 10049[label="abs (Neg vuz447)",fontsize=16,color="magenta"];10049 -> 10178[label="",style="dashed", color="magenta", weight=3]; 10050 -> 9987[label="",style="dashed", color="red", weight=0]; 10050[label="abs (Neg vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10050 -> 10179[label="",style="dashed", color="magenta", weight=3]; 8947[label="vuz446",fontsize=16,color="green",shape="box"];10051[label="vuz348",fontsize=16,color="green",shape="box"];10052 -> 9366[label="",style="dashed", color="red", weight=0]; 10052[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10053 -> 10042[label="",style="dashed", color="red", weight=0]; 10053[label="abs (Neg vuz349)",fontsize=16,color="magenta"];10053 -> 10180[label="",style="dashed", color="magenta", weight=3]; 10054 -> 9987[label="",style="dashed", color="red", weight=0]; 10054[label="abs (Pos vuz3190 * Pos vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10054 -> 10181[label="",style="dashed", color="magenta", weight=3]; 8949[label="vuz348",fontsize=16,color="green",shape="box"];9862 -> 9987[label="",style="dashed", color="red", weight=0]; 9862[label="abs (Pos vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9862 -> 10007[label="",style="dashed", color="magenta", weight=3]; 9863[label="vuz354",fontsize=16,color="green",shape="box"];9864 -> 9857[label="",style="dashed", color="red", weight=0]; 9864[label="abs (Pos vuz355)",fontsize=16,color="magenta"];9864 -> 10037[label="",style="dashed", color="magenta", weight=3]; 9865 -> 9372[label="",style="dashed", color="red", weight=0]; 9865[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];8951[label="vuz354",fontsize=16,color="green",shape="box"];9866 -> 9987[label="",style="dashed", color="red", weight=0]; 9866[label="abs (Neg vuz3190 * Neg vuz3170) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9866 -> 10008[label="",style="dashed", color="magenta", weight=3]; 9867[label="vuz360",fontsize=16,color="green",shape="box"];9868 -> 9857[label="",style="dashed", color="red", weight=0]; 9868[label="abs (Pos vuz361)",fontsize=16,color="magenta"];9868 -> 10038[label="",style="dashed", color="magenta", weight=3]; 9869 -> 9376[label="",style="dashed", color="red", weight=0]; 9869[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];8953[label="vuz360",fontsize=16,color="green",shape="box"];8954[label="vuz369",fontsize=16,color="green",shape="box"];8955[label="vuz481",fontsize=16,color="green",shape="box"];7494[label="primEqInt (Pos (Succ vuz3250)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7494 -> 7519[label="",style="solid", color="black", weight=3]; 7495[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7495 -> 7520[label="",style="solid", color="black", weight=3]; 8956[label="primQuotInt (Pos vuz366) (gcd0 (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="triangle"];8956 -> 8986[label="",style="solid", color="black", weight=3]; 8957 -> 8987[label="",style="dashed", color="red", weight=0]; 8957[label="primQuotInt (Pos vuz366) (gcd1 (Pos vuz367 == fromInt (Pos Zero)) (Pos vuz505) (Pos vuz367))",fontsize=16,color="magenta"];8957 -> 8988[label="",style="dashed", color="magenta", weight=3]; 8958 -> 8615[label="",style="dashed", color="red", weight=0]; 8958[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (primMinusNat vuz3690 vuz4830) (fromInt (Pos Zero))) (primMinusNat vuz3690 vuz4830) (Pos vuz367))",fontsize=16,color="magenta"];8958 -> 8989[label="",style="dashed", color="magenta", weight=3]; 8958 -> 8990[label="",style="dashed", color="magenta", weight=3]; 8959 -> 8790[label="",style="dashed", color="red", weight=0]; 8959[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos (Succ vuz3690)) (fromInt (Pos Zero))) (Pos (Succ vuz3690)) (Pos vuz367))",fontsize=16,color="magenta"];8959 -> 8991[label="",style="dashed", color="magenta", weight=3]; 8959 -> 8992[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8799[label="",style="dashed", color="red", weight=0]; 8960[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Neg (Succ vuz4830)) (fromInt (Pos Zero))) (Neg (Succ vuz4830)) (Pos vuz367))",fontsize=16,color="magenta"];8960 -> 8993[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8994[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8995[label="",style="dashed", color="magenta", weight=3]; 8960 -> 8996[label="",style="dashed", color="magenta", weight=3]; 8961 -> 8790[label="",style="dashed", color="red", weight=0]; 8961[label="primQuotInt (Pos vuz366) (gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Pos vuz367))",fontsize=16,color="magenta"];8961 -> 8997[label="",style="dashed", color="magenta", weight=3]; 8961 -> 8998[label="",style="dashed", color="magenta", weight=3]; 8962[label="vuz373",fontsize=16,color="green",shape="box"];8963[label="vuz487",fontsize=16,color="green",shape="box"];7512[label="primEqInt (Neg (Succ vuz3260)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7512 -> 7526[label="",style="solid", color="black", weight=3]; 7513[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7513 -> 7527[label="",style="solid", color="black", weight=3]; 8964[label="primQuotInt (Pos vuz370) (gcd0 (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="triangle"];8964 -> 8999[label="",style="solid", color="black", weight=3]; 8965 -> 9000[label="",style="dashed", color="red", weight=0]; 8965[label="primQuotInt (Pos vuz370) (gcd1 (Pos vuz371 == fromInt (Pos Zero)) (Neg vuz508) (Pos vuz371))",fontsize=16,color="magenta"];8965 -> 9001[label="",style="dashed", color="magenta", weight=3]; 8966 -> 8630[label="",style="dashed", color="red", weight=0]; 8966[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (primMinusNat vuz4890 vuz3770) (fromInt (Pos Zero))) (primMinusNat vuz4890 vuz3770) (Neg vuz375))",fontsize=16,color="magenta"];8966 -> 9002[label="",style="dashed", color="magenta", weight=3]; 8966 -> 9003[label="",style="dashed", color="magenta", weight=3]; 8967 -> 8807[label="",style="dashed", color="red", weight=0]; 8967[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Pos (Succ vuz4890)) (fromInt (Pos Zero))) (Pos (Succ vuz4890)) (Neg vuz375))",fontsize=16,color="magenta"];8967 -> 9004[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9005[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9006[label="",style="dashed", color="magenta", weight=3]; 8967 -> 9007[label="",style="dashed", color="magenta", weight=3]; 8968 -> 8804[label="",style="dashed", color="red", weight=0]; 8968[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Neg (Succ vuz3770)) (fromInt (Pos Zero))) (Neg (Succ vuz3770)) (Neg vuz375))",fontsize=16,color="magenta"];8968 -> 9008[label="",style="dashed", color="magenta", weight=3]; 8968 -> 9009[label="",style="dashed", color="magenta", weight=3]; 8969 -> 8807[label="",style="dashed", color="red", weight=0]; 8969[label="primQuotInt (Neg vuz374) (gcd2 (primEqInt (Pos Zero) (fromInt (Pos Zero))) (Pos Zero) (Neg vuz375))",fontsize=16,color="magenta"];8969 -> 9010[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9011[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9012[label="",style="dashed", color="magenta", weight=3]; 8969 -> 9013[label="",style="dashed", color="magenta", weight=3]; 8970[label="vuz377",fontsize=16,color="green",shape="box"];8971[label="vuz491",fontsize=16,color="green",shape="box"];8972[label="primQuotInt (Neg vuz374) (gcd0 (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="triangle"];8972 -> 9014[label="",style="solid", color="black", weight=3]; 8973 -> 9015[label="",style="dashed", color="red", weight=0]; 8973[label="primQuotInt (Neg vuz374) (gcd1 (Neg vuz375 == fromInt (Pos Zero)) (Neg vuz511) (Neg vuz375))",fontsize=16,color="magenta"];8973 -> 9016[label="",style="dashed", color="magenta", weight=3]; 8974[label="vuz381",fontsize=16,color="green",shape="box"];8975[label="vuz493",fontsize=16,color="green",shape="box"];8976[label="primQuotInt (Neg vuz378) (gcd0 (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="triangle"];8976 -> 9017[label="",style="solid", color="black", weight=3]; 8977 -> 9018[label="",style="dashed", color="red", weight=0]; 8977[label="primQuotInt (Neg vuz378) (gcd1 (Neg vuz379 == fromInt (Pos Zero)) (Pos vuz514) (Neg vuz379))",fontsize=16,color="magenta"];8977 -> 9019[label="",style="dashed", color="magenta", weight=3]; 10005 -> 9366[label="",style="dashed", color="red", weight=0]; 10005[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10033[label="absReal (Pos vuz399)",fontsize=16,color="black",shape="box"];10033 -> 10182[label="",style="solid", color="black", weight=3]; 9366[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="triangle"];9366 -> 9585[label="",style="solid", color="black", weight=3]; 10034[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 False vuz549 vuz542)",fontsize=16,color="black",shape="box"];10034 -> 10183[label="",style="solid", color="black", weight=3]; 10035[label="primQuotInt (Pos vuz416) (gcd0Gcd'1 True vuz549 vuz542)",fontsize=16,color="black",shape="box"];10035 -> 10184[label="",style="solid", color="black", weight=3]; 10006 -> 9369[label="",style="dashed", color="red", weight=0]; 10006[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10036[label="vuz417",fontsize=16,color="green",shape="box"];9369[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="triangle"];9369 -> 9588[label="",style="solid", color="black", weight=3]; 9376[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="triangle"];9376 -> 9590[label="",style="solid", color="black", weight=3]; 10172[label="absReal (Neg vuz427)",fontsize=16,color="black",shape="box"];10172 -> 10202[label="",style="solid", color="black", weight=3]; 10173 -> 9376[label="",style="dashed", color="red", weight=0]; 10173[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10174[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 False vuz552 vuz544)",fontsize=16,color="black",shape="box"];10174 -> 10203[label="",style="solid", color="black", weight=3]; 10175[label="primQuotInt (Neg vuz428) (gcd0Gcd'1 True vuz552 vuz544)",fontsize=16,color="black",shape="box"];10175 -> 10204[label="",style="solid", color="black", weight=3]; 9372[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="triangle"];9372 -> 9589[label="",style="solid", color="black", weight=3]; 10176[label="vuz429",fontsize=16,color="green",shape="box"];10177 -> 9372[label="",style="dashed", color="red", weight=0]; 10177[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10178[label="vuz447",fontsize=16,color="green",shape="box"];10179 -> 9369[label="",style="dashed", color="red", weight=0]; 10179[label="abs (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10180[label="vuz349",fontsize=16,color="green",shape="box"];10181 -> 9366[label="",style="dashed", color="red", weight=0]; 10181[label="abs (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="magenta"];10007 -> 9372[label="",style="dashed", color="red", weight=0]; 10007[label="abs (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10037[label="vuz355",fontsize=16,color="green",shape="box"];10008 -> 9376[label="",style="dashed", color="red", weight=0]; 10008[label="abs (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="magenta"];10038[label="vuz361",fontsize=16,color="green",shape="box"];8986[label="primQuotInt (Pos vuz366) (gcd0Gcd' (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="black",shape="box"];8986 -> 9028[label="",style="solid", color="black", weight=3]; 8988 -> 9987[label="",style="dashed", color="red", weight=0]; 8988[label="Pos vuz367 == fromInt (Pos Zero)",fontsize=16,color="magenta"];8988 -> 10009[label="",style="dashed", color="magenta", weight=3]; 8987[label="primQuotInt (Pos vuz366) (gcd1 vuz516 (Pos vuz505) (Pos vuz367))",fontsize=16,color="burlywood",shape="triangle"];11091[label="vuz516/False",fontsize=10,color="white",style="solid",shape="box"];8987 -> 11091[label="",style="solid", color="burlywood", weight=9]; 11091 -> 9030[label="",style="solid", color="burlywood", weight=3]; 11092[label="vuz516/True",fontsize=10,color="white",style="solid",shape="box"];8987 -> 11092[label="",style="solid", color="burlywood", weight=9]; 11092 -> 9031[label="",style="solid", color="burlywood", weight=3]; 8989[label="vuz3690",fontsize=16,color="green",shape="box"];8990[label="vuz4830",fontsize=16,color="green",shape="box"];8991[label="Succ vuz3690",fontsize=16,color="green",shape="box"];8992 -> 7479[label="",style="dashed", color="red", weight=0]; 8992[label="primEqInt (Pos (Succ vuz3690)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8992 -> 9032[label="",style="dashed", color="magenta", weight=3]; 8993 -> 7498[label="",style="dashed", color="red", weight=0]; 8993[label="primEqInt (Neg (Succ vuz4830)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8993 -> 9033[label="",style="dashed", color="magenta", weight=3]; 8994[label="Succ vuz4830",fontsize=16,color="green",shape="box"];8995[label="vuz366",fontsize=16,color="green",shape="box"];8996[label="vuz367",fontsize=16,color="green",shape="box"];8997[label="Zero",fontsize=16,color="green",shape="box"];8998 -> 7479[label="",style="dashed", color="red", weight=0]; 8998[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="magenta"];8998 -> 9034[label="",style="dashed", color="magenta", weight=3]; 8999[label="primQuotInt (Pos vuz370) (gcd0Gcd' (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="black",shape="box"];8999 -> 9035[label="",style="solid", color="black", weight=3]; 9001 -> 9987[label="",style="dashed", color="red", weight=0]; 9001[label="Pos vuz371 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9001 -> 10010[label="",style="dashed", color="magenta", weight=3]; 9000[label="primQuotInt (Pos vuz370) (gcd1 vuz517 (Neg vuz508) (Pos vuz371))",fontsize=16,color="burlywood",shape="triangle"];11093[label="vuz517/False",fontsize=10,color="white",style="solid",shape="box"];9000 -> 11093[label="",style="solid", color="burlywood", weight=9]; 11093 -> 9037[label="",style="solid", color="burlywood", weight=3]; 11094[label="vuz517/True",fontsize=10,color="white",style="solid",shape="box"];9000 -> 11094[label="",style="solid", color="burlywood", weight=9]; 11094 -> 9038[label="",style="solid", color="burlywood", weight=3]; 9002[label="vuz4890",fontsize=16,color="green",shape="box"];9003[label="vuz3770",fontsize=16,color="green",shape="box"];9004[label="vuz375",fontsize=16,color="green",shape="box"];9005 -> 7479[label="",style="dashed", color="red", weight=0]; 9005[label="primEqInt (Pos (Succ vuz4890)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9005 -> 9039[label="",style="dashed", color="magenta", weight=3]; 9006[label="Succ vuz4890",fontsize=16,color="green",shape="box"];9007[label="vuz374",fontsize=16,color="green",shape="box"];9008 -> 7498[label="",style="dashed", color="red", weight=0]; 9008[label="primEqInt (Neg (Succ vuz3770)) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9008 -> 9040[label="",style="dashed", color="magenta", weight=3]; 9009[label="Succ vuz3770",fontsize=16,color="green",shape="box"];9010[label="vuz375",fontsize=16,color="green",shape="box"];9011 -> 7479[label="",style="dashed", color="red", weight=0]; 9011[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="magenta"];9011 -> 9041[label="",style="dashed", color="magenta", weight=3]; 9012[label="Zero",fontsize=16,color="green",shape="box"];9013[label="vuz374",fontsize=16,color="green",shape="box"];9014[label="primQuotInt (Neg vuz374) (gcd0Gcd' (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="black",shape="box"];9014 -> 9042[label="",style="solid", color="black", weight=3]; 9016 -> 9987[label="",style="dashed", color="red", weight=0]; 9016[label="Neg vuz375 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9016 -> 10011[label="",style="dashed", color="magenta", weight=3]; 9015[label="primQuotInt (Neg vuz374) (gcd1 vuz518 (Neg vuz511) (Neg vuz375))",fontsize=16,color="burlywood",shape="triangle"];11095[label="vuz518/False",fontsize=10,color="white",style="solid",shape="box"];9015 -> 11095[label="",style="solid", color="burlywood", weight=9]; 11095 -> 9044[label="",style="solid", color="burlywood", weight=3]; 11096[label="vuz518/True",fontsize=10,color="white",style="solid",shape="box"];9015 -> 11096[label="",style="solid", color="burlywood", weight=9]; 11096 -> 9045[label="",style="solid", color="burlywood", weight=3]; 9017[label="primQuotInt (Neg vuz378) (gcd0Gcd' (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="black",shape="box"];9017 -> 9046[label="",style="solid", color="black", weight=3]; 9019 -> 9987[label="",style="dashed", color="red", weight=0]; 9019[label="Neg vuz379 == fromInt (Pos Zero)",fontsize=16,color="magenta"];9019 -> 10012[label="",style="dashed", color="magenta", weight=3]; 9018[label="primQuotInt (Neg vuz378) (gcd1 vuz519 (Pos vuz514) (Neg vuz379))",fontsize=16,color="burlywood",shape="triangle"];11097[label="vuz519/False",fontsize=10,color="white",style="solid",shape="box"];9018 -> 11097[label="",style="solid", color="burlywood", weight=9]; 11097 -> 9048[label="",style="solid", color="burlywood", weight=3]; 11098[label="vuz519/True",fontsize=10,color="white",style="solid",shape="box"];9018 -> 11098[label="",style="solid", color="burlywood", weight=9]; 11098 -> 9049[label="",style="solid", color="burlywood", weight=3]; 10182[label="absReal2 (Pos vuz399)",fontsize=16,color="black",shape="box"];10182 -> 10205[label="",style="solid", color="black", weight=3]; 9585[label="absReal (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9585 -> 9817[label="",style="solid", color="black", weight=3]; 10183[label="primQuotInt (Pos vuz416) (gcd0Gcd'0 vuz549 vuz542)",fontsize=16,color="black",shape="box"];10183 -> 10206[label="",style="solid", color="black", weight=3]; 10184[label="primQuotInt (Pos vuz416) vuz549",fontsize=16,color="burlywood",shape="triangle"];11099[label="vuz549/Pos vuz5490",fontsize=10,color="white",style="solid",shape="box"];10184 -> 11099[label="",style="solid", color="burlywood", weight=9]; 11099 -> 10207[label="",style="solid", color="burlywood", weight=3]; 11100[label="vuz549/Neg vuz5490",fontsize=10,color="white",style="solid",shape="box"];10184 -> 11100[label="",style="solid", color="burlywood", weight=9]; 11100 -> 10208[label="",style="solid", color="burlywood", weight=3]; 9588[label="absReal (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9588 -> 9822[label="",style="solid", color="black", weight=3]; 9590[label="absReal (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9590 -> 9824[label="",style="solid", color="black", weight=3]; 10202[label="absReal2 (Neg vuz427)",fontsize=16,color="black",shape="box"];10202 -> 10246[label="",style="solid", color="black", weight=3]; 10203[label="primQuotInt (Neg vuz428) (gcd0Gcd'0 vuz552 vuz544)",fontsize=16,color="black",shape="box"];10203 -> 10247[label="",style="solid", color="black", weight=3]; 10204[label="primQuotInt (Neg vuz428) vuz552",fontsize=16,color="burlywood",shape="triangle"];11101[label="vuz552/Pos vuz5520",fontsize=10,color="white",style="solid",shape="box"];10204 -> 11101[label="",style="solid", color="burlywood", weight=9]; 11101 -> 10248[label="",style="solid", color="burlywood", weight=3]; 11102[label="vuz552/Neg vuz5520",fontsize=10,color="white",style="solid",shape="box"];10204 -> 11102[label="",style="solid", color="burlywood", weight=9]; 11102 -> 10249[label="",style="solid", color="burlywood", weight=3]; 9589[label="absReal (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9589 -> 9823[label="",style="solid", color="black", weight=3]; 9028[label="primQuotInt (Pos vuz366) (gcd0Gcd'2 (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="black",shape="box"];9028 -> 9058[label="",style="solid", color="black", weight=3]; 10009[label="Pos vuz367",fontsize=16,color="green",shape="box"];9030[label="primQuotInt (Pos vuz366) (gcd1 False (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];9030 -> 9059[label="",style="solid", color="black", weight=3]; 9031[label="primQuotInt (Pos vuz366) (gcd1 True (Pos vuz505) (Pos vuz367))",fontsize=16,color="black",shape="box"];9031 -> 9060[label="",style="solid", color="black", weight=3]; 9032[label="Succ vuz3690",fontsize=16,color="green",shape="box"];9033[label="Succ vuz4830",fontsize=16,color="green",shape="box"];9034[label="Zero",fontsize=16,color="green",shape="box"];9035[label="primQuotInt (Pos vuz370) (gcd0Gcd'2 (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="black",shape="box"];9035 -> 9061[label="",style="solid", color="black", weight=3]; 10010[label="Pos vuz371",fontsize=16,color="green",shape="box"];9037[label="primQuotInt (Pos vuz370) (gcd1 False (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];9037 -> 9062[label="",style="solid", color="black", weight=3]; 9038[label="primQuotInt (Pos vuz370) (gcd1 True (Neg vuz508) (Pos vuz371))",fontsize=16,color="black",shape="box"];9038 -> 9063[label="",style="solid", color="black", weight=3]; 9039[label="Succ vuz4890",fontsize=16,color="green",shape="box"];9040[label="Succ vuz3770",fontsize=16,color="green",shape="box"];9041[label="Zero",fontsize=16,color="green",shape="box"];9042[label="primQuotInt (Neg vuz374) (gcd0Gcd'2 (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="black",shape="box"];9042 -> 9064[label="",style="solid", color="black", weight=3]; 10011[label="Neg vuz375",fontsize=16,color="green",shape="box"];9044[label="primQuotInt (Neg vuz374) (gcd1 False (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];9044 -> 9065[label="",style="solid", color="black", weight=3]; 9045[label="primQuotInt (Neg vuz374) (gcd1 True (Neg vuz511) (Neg vuz375))",fontsize=16,color="black",shape="box"];9045 -> 9066[label="",style="solid", color="black", weight=3]; 9046[label="primQuotInt (Neg vuz378) (gcd0Gcd'2 (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="black",shape="box"];9046 -> 9067[label="",style="solid", color="black", weight=3]; 10012[label="Neg vuz379",fontsize=16,color="green",shape="box"];9048[label="primQuotInt (Neg vuz378) (gcd1 False (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];9048 -> 9068[label="",style="solid", color="black", weight=3]; 9049[label="primQuotInt (Neg vuz378) (gcd1 True (Pos vuz514) (Neg vuz379))",fontsize=16,color="black",shape="box"];9049 -> 9069[label="",style="solid", color="black", weight=3]; 10205 -> 10185[label="",style="dashed", color="red", weight=0]; 10205[label="absReal1 (Pos vuz399) (Pos vuz399 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];10205 -> 10250[label="",style="dashed", color="magenta", weight=3]; 10205 -> 10251[label="",style="dashed", color="magenta", weight=3]; 9817[label="absReal2 (Pos vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9817 -> 9834[label="",style="solid", color="black", weight=3]; 10206 -> 10184[label="",style="dashed", color="red", weight=0]; 10206[label="primQuotInt (Pos vuz416) (gcd0Gcd' vuz542 (vuz549 `rem` vuz542))",fontsize=16,color="magenta"];10206 -> 10252[label="",style="dashed", color="magenta", weight=3]; 10207[label="primQuotInt (Pos vuz416) (Pos vuz5490)",fontsize=16,color="burlywood",shape="box"];11103[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10207 -> 11103[label="",style="solid", color="burlywood", weight=9]; 11103 -> 10253[label="",style="solid", color="burlywood", weight=3]; 11104[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10207 -> 11104[label="",style="solid", color="burlywood", weight=9]; 11104 -> 10254[label="",style="solid", color="burlywood", weight=3]; 10208[label="primQuotInt (Pos vuz416) (Neg vuz5490)",fontsize=16,color="burlywood",shape="box"];11105[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10208 -> 11105[label="",style="solid", color="burlywood", weight=9]; 11105 -> 10255[label="",style="solid", color="burlywood", weight=3]; 11106[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10208 -> 11106[label="",style="solid", color="burlywood", weight=9]; 11106 -> 10256[label="",style="solid", color="burlywood", weight=3]; 9822[label="absReal2 (Neg vuz3190 * Pos vuz3170)",fontsize=16,color="black",shape="box"];9822 -> 9839[label="",style="solid", color="black", weight=3]; 9824[label="absReal2 (Neg vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9824 -> 9841[label="",style="solid", color="black", weight=3]; 10246 -> 10185[label="",style="dashed", color="red", weight=0]; 10246[label="absReal1 (Neg vuz427) (Neg vuz427 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];10246 -> 10266[label="",style="dashed", color="magenta", weight=3]; 10246 -> 10267[label="",style="dashed", color="magenta", weight=3]; 10247 -> 10204[label="",style="dashed", color="red", weight=0]; 10247[label="primQuotInt (Neg vuz428) (gcd0Gcd' vuz544 (vuz552 `rem` vuz544))",fontsize=16,color="magenta"];10247 -> 10268[label="",style="dashed", color="magenta", weight=3]; 10248[label="primQuotInt (Neg vuz428) (Pos vuz5520)",fontsize=16,color="burlywood",shape="box"];11107[label="vuz5520/Succ vuz55200",fontsize=10,color="white",style="solid",shape="box"];10248 -> 11107[label="",style="solid", color="burlywood", weight=9]; 11107 -> 10269[label="",style="solid", color="burlywood", weight=3]; 11108[label="vuz5520/Zero",fontsize=10,color="white",style="solid",shape="box"];10248 -> 11108[label="",style="solid", color="burlywood", weight=9]; 11108 -> 10270[label="",style="solid", color="burlywood", weight=3]; 10249[label="primQuotInt (Neg vuz428) (Neg vuz5520)",fontsize=16,color="burlywood",shape="box"];11109[label="vuz5520/Succ vuz55200",fontsize=10,color="white",style="solid",shape="box"];10249 -> 11109[label="",style="solid", color="burlywood", weight=9]; 11109 -> 10271[label="",style="solid", color="burlywood", weight=3]; 11110[label="vuz5520/Zero",fontsize=10,color="white",style="solid",shape="box"];10249 -> 11110[label="",style="solid", color="burlywood", weight=9]; 11110 -> 10272[label="",style="solid", color="burlywood", weight=3]; 9823[label="absReal2 (Pos vuz3190 * Neg vuz3170)",fontsize=16,color="black",shape="box"];9823 -> 9840[label="",style="solid", color="black", weight=3]; 9058 -> 9854[label="",style="dashed", color="red", weight=0]; 9058[label="primQuotInt (Pos vuz366) (gcd0Gcd'1 (abs (Pos vuz367) == fromInt (Pos Zero)) (abs (Pos vuz505)) (abs (Pos vuz367)))",fontsize=16,color="magenta"];9058 -> 9887[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9888[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9889[label="",style="dashed", color="magenta", weight=3]; 9058 -> 9890[label="",style="dashed", color="magenta", weight=3]; 9059 -> 8956[label="",style="dashed", color="red", weight=0]; 9059[label="primQuotInt (Pos vuz366) (gcd0 (Pos vuz505) (Pos vuz367))",fontsize=16,color="magenta"];9060 -> 8816[label="",style="dashed", color="red", weight=0]; 9060[label="primQuotInt (Pos vuz366) (error [])",fontsize=16,color="magenta"];9060 -> 9079[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9854[label="",style="dashed", color="red", weight=0]; 9061[label="primQuotInt (Pos vuz370) (gcd0Gcd'1 (abs (Pos vuz371) == fromInt (Pos Zero)) (abs (Neg vuz508)) (abs (Pos vuz371)))",fontsize=16,color="magenta"];9061 -> 9891[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9892[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9893[label="",style="dashed", color="magenta", weight=3]; 9061 -> 9894[label="",style="dashed", color="magenta", weight=3]; 9062 -> 8964[label="",style="dashed", color="red", weight=0]; 9062[label="primQuotInt (Pos vuz370) (gcd0 (Neg vuz508) (Pos vuz371))",fontsize=16,color="magenta"];9063 -> 8816[label="",style="dashed", color="red", weight=0]; 9063[label="primQuotInt (Pos vuz370) (error [])",fontsize=16,color="magenta"];9063 -> 9081[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10039[label="",style="dashed", color="red", weight=0]; 9064[label="primQuotInt (Neg vuz374) (gcd0Gcd'1 (abs (Neg vuz375) == fromInt (Pos Zero)) (abs (Neg vuz511)) (abs (Neg vuz375)))",fontsize=16,color="magenta"];9064 -> 10072[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10073[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10074[label="",style="dashed", color="magenta", weight=3]; 9064 -> 10075[label="",style="dashed", color="magenta", weight=3]; 9065 -> 8972[label="",style="dashed", color="red", weight=0]; 9065[label="primQuotInt (Neg vuz374) (gcd0 (Neg vuz511) (Neg vuz375))",fontsize=16,color="magenta"];9066 -> 8849[label="",style="dashed", color="red", weight=0]; 9066[label="primQuotInt (Neg vuz374) (error [])",fontsize=16,color="magenta"];9066 -> 9083[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10039[label="",style="dashed", color="red", weight=0]; 9067[label="primQuotInt (Neg vuz378) (gcd0Gcd'1 (abs (Neg vuz379) == fromInt (Pos Zero)) (abs (Pos vuz514)) (abs (Neg vuz379)))",fontsize=16,color="magenta"];9067 -> 10076[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10077[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10078[label="",style="dashed", color="magenta", weight=3]; 9067 -> 10079[label="",style="dashed", color="magenta", weight=3]; 9068 -> 8976[label="",style="dashed", color="red", weight=0]; 9068[label="primQuotInt (Neg vuz378) (gcd0 (Pos vuz514) (Neg vuz379))",fontsize=16,color="magenta"];9069 -> 8849[label="",style="dashed", color="red", weight=0]; 9069[label="primQuotInt (Neg vuz378) (error [])",fontsize=16,color="magenta"];9069 -> 9085[label="",style="dashed", color="magenta", weight=3]; 10250[label="Pos vuz399",fontsize=16,color="green",shape="box"];10251[label="Pos vuz399",fontsize=16,color="green",shape="box"];10185[label="absReal1 vuz554 (vuz555 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="triangle"];10185 -> 10223[label="",style="solid", color="black", weight=3]; 9834 -> 10185[label="",style="dashed", color="red", weight=0]; 9834[label="absReal1 (Pos vuz3190 * Pos vuz3170) (Pos vuz3190 * Pos vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9834 -> 10186[label="",style="dashed", color="magenta", weight=3]; 9834 -> 10187[label="",style="dashed", color="magenta", weight=3]; 10252[label="gcd0Gcd' vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="triangle"];10252 -> 10273[label="",style="solid", color="black", weight=3]; 10253[label="primQuotInt (Pos vuz416) (Pos (Succ vuz54900))",fontsize=16,color="black",shape="box"];10253 -> 10274[label="",style="solid", color="black", weight=3]; 10254[label="primQuotInt (Pos vuz416) (Pos Zero)",fontsize=16,color="black",shape="box"];10254 -> 10275[label="",style="solid", color="black", weight=3]; 10255[label="primQuotInt (Pos vuz416) (Neg (Succ vuz54900))",fontsize=16,color="black",shape="box"];10255 -> 10276[label="",style="solid", color="black", weight=3]; 10256[label="primQuotInt (Pos vuz416) (Neg Zero)",fontsize=16,color="black",shape="box"];10256 -> 10277[label="",style="solid", color="black", weight=3]; 9839 -> 10185[label="",style="dashed", color="red", weight=0]; 9839[label="absReal1 (Neg vuz3190 * Pos vuz3170) (Neg vuz3190 * Pos vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9839 -> 10188[label="",style="dashed", color="magenta", weight=3]; 9839 -> 10189[label="",style="dashed", color="magenta", weight=3]; 9841 -> 10185[label="",style="dashed", color="red", weight=0]; 9841[label="absReal1 (Neg vuz3190 * Neg vuz3170) (Neg vuz3190 * Neg vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9841 -> 10190[label="",style="dashed", color="magenta", weight=3]; 9841 -> 10191[label="",style="dashed", color="magenta", weight=3]; 10266[label="Neg vuz427",fontsize=16,color="green",shape="box"];10267[label="Neg vuz427",fontsize=16,color="green",shape="box"];10268 -> 10252[label="",style="dashed", color="red", weight=0]; 10268[label="gcd0Gcd' vuz544 (vuz552 `rem` vuz544)",fontsize=16,color="magenta"];10268 -> 10283[label="",style="dashed", color="magenta", weight=3]; 10268 -> 10284[label="",style="dashed", color="magenta", weight=3]; 10269[label="primQuotInt (Neg vuz428) (Pos (Succ vuz55200))",fontsize=16,color="black",shape="box"];10269 -> 10285[label="",style="solid", color="black", weight=3]; 10270[label="primQuotInt (Neg vuz428) (Pos Zero)",fontsize=16,color="black",shape="box"];10270 -> 10286[label="",style="solid", color="black", weight=3]; 10271[label="primQuotInt (Neg vuz428) (Neg (Succ vuz55200))",fontsize=16,color="black",shape="box"];10271 -> 10287[label="",style="solid", color="black", weight=3]; 10272[label="primQuotInt (Neg vuz428) (Neg Zero)",fontsize=16,color="black",shape="box"];10272 -> 10288[label="",style="solid", color="black", weight=3]; 9840 -> 10185[label="",style="dashed", color="red", weight=0]; 9840[label="absReal1 (Pos vuz3190 * Neg vuz3170) (Pos vuz3190 * Neg vuz3170 >= fromInt (Pos Zero))",fontsize=16,color="magenta"];9840 -> 10192[label="",style="dashed", color="magenta", weight=3]; 9840 -> 10193[label="",style="dashed", color="magenta", weight=3]; 9887 -> 9987[label="",style="dashed", color="red", weight=0]; 9887[label="abs (Pos vuz367) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9887 -> 10013[label="",style="dashed", color="magenta", weight=3]; 9888[label="vuz366",fontsize=16,color="green",shape="box"];9889 -> 9857[label="",style="dashed", color="red", weight=0]; 9889[label="abs (Pos vuz505)",fontsize=16,color="magenta"];9889 -> 10209[label="",style="dashed", color="magenta", weight=3]; 9890 -> 9857[label="",style="dashed", color="red", weight=0]; 9890[label="abs (Pos vuz367)",fontsize=16,color="magenta"];9890 -> 10210[label="",style="dashed", color="magenta", weight=3]; 9079[label="vuz366",fontsize=16,color="green",shape="box"];9891 -> 9987[label="",style="dashed", color="red", weight=0]; 9891[label="abs (Pos vuz371) == fromInt (Pos Zero)",fontsize=16,color="magenta"];9891 -> 10014[label="",style="dashed", color="magenta", weight=3]; 9892[label="vuz370",fontsize=16,color="green",shape="box"];9893 -> 10042[label="",style="dashed", color="red", weight=0]; 9893[label="abs (Neg vuz508)",fontsize=16,color="magenta"];9893 -> 10211[label="",style="dashed", color="magenta", weight=3]; 9894 -> 9857[label="",style="dashed", color="red", weight=0]; 9894[label="abs (Pos vuz371)",fontsize=16,color="magenta"];9894 -> 10212[label="",style="dashed", color="magenta", weight=3]; 9081[label="vuz370",fontsize=16,color="green",shape="box"];10072[label="vuz374",fontsize=16,color="green",shape="box"];10073 -> 10042[label="",style="dashed", color="red", weight=0]; 10073[label="abs (Neg vuz375)",fontsize=16,color="magenta"];10073 -> 10213[label="",style="dashed", color="magenta", weight=3]; 10074 -> 10042[label="",style="dashed", color="red", weight=0]; 10074[label="abs (Neg vuz511)",fontsize=16,color="magenta"];10074 -> 10214[label="",style="dashed", color="magenta", weight=3]; 10075 -> 9987[label="",style="dashed", color="red", weight=0]; 10075[label="abs (Neg vuz375) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10075 -> 10215[label="",style="dashed", color="magenta", weight=3]; 9083[label="vuz374",fontsize=16,color="green",shape="box"];10076[label="vuz378",fontsize=16,color="green",shape="box"];10077 -> 10042[label="",style="dashed", color="red", weight=0]; 10077[label="abs (Neg vuz379)",fontsize=16,color="magenta"];10077 -> 10216[label="",style="dashed", color="magenta", weight=3]; 10078 -> 9857[label="",style="dashed", color="red", weight=0]; 10078[label="abs (Pos vuz514)",fontsize=16,color="magenta"];10078 -> 10217[label="",style="dashed", color="magenta", weight=3]; 10079 -> 9987[label="",style="dashed", color="red", weight=0]; 10079[label="abs (Neg vuz379) == fromInt (Pos Zero)",fontsize=16,color="magenta"];10079 -> 10218[label="",style="dashed", color="magenta", weight=3]; 9085[label="vuz378",fontsize=16,color="green",shape="box"];10223[label="absReal1 vuz554 (compare vuz555 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];10223 -> 10259[label="",style="solid", color="black", weight=3]; 10186 -> 9988[label="",style="dashed", color="red", weight=0]; 10186[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10186 -> 10219[label="",style="dashed", color="magenta", weight=3]; 10186 -> 10220[label="",style="dashed", color="magenta", weight=3]; 10187 -> 9988[label="",style="dashed", color="red", weight=0]; 10187[label="Pos vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10187 -> 10221[label="",style="dashed", color="magenta", weight=3]; 10187 -> 10222[label="",style="dashed", color="magenta", weight=3]; 10273[label="gcd0Gcd'2 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10273 -> 10289[label="",style="solid", color="black", weight=3]; 10274[label="Pos (primDivNatS vuz416 (Succ vuz54900))",fontsize=16,color="green",shape="box"];10274 -> 10290[label="",style="dashed", color="green", weight=3]; 10275[label="error []",fontsize=16,color="black",shape="triangle"];10275 -> 10291[label="",style="solid", color="black", weight=3]; 10276[label="Neg (primDivNatS vuz416 (Succ vuz54900))",fontsize=16,color="green",shape="box"];10276 -> 10292[label="",style="dashed", color="green", weight=3]; 10277 -> 10275[label="",style="dashed", color="red", weight=0]; 10277[label="error []",fontsize=16,color="magenta"];10188 -> 9988[label="",style="dashed", color="red", weight=0]; 10188[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10188 -> 10224[label="",style="dashed", color="magenta", weight=3]; 10188 -> 10225[label="",style="dashed", color="magenta", weight=3]; 10189 -> 9988[label="",style="dashed", color="red", weight=0]; 10189[label="Neg vuz3190 * Pos vuz3170",fontsize=16,color="magenta"];10189 -> 10226[label="",style="dashed", color="magenta", weight=3]; 10189 -> 10227[label="",style="dashed", color="magenta", weight=3]; 10190 -> 9988[label="",style="dashed", color="red", weight=0]; 10190[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10190 -> 10228[label="",style="dashed", color="magenta", weight=3]; 10190 -> 10229[label="",style="dashed", color="magenta", weight=3]; 10191 -> 9988[label="",style="dashed", color="red", weight=0]; 10191[label="Neg vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10191 -> 10230[label="",style="dashed", color="magenta", weight=3]; 10191 -> 10231[label="",style="dashed", color="magenta", weight=3]; 10283[label="vuz552",fontsize=16,color="green",shape="box"];10284[label="vuz544",fontsize=16,color="green",shape="box"];10285[label="Neg (primDivNatS vuz428 (Succ vuz55200))",fontsize=16,color="green",shape="box"];10285 -> 10295[label="",style="dashed", color="green", weight=3]; 10286 -> 10275[label="",style="dashed", color="red", weight=0]; 10286[label="error []",fontsize=16,color="magenta"];10287[label="Pos (primDivNatS vuz428 (Succ vuz55200))",fontsize=16,color="green",shape="box"];10287 -> 10296[label="",style="dashed", color="green", weight=3]; 10288 -> 10275[label="",style="dashed", color="red", weight=0]; 10288[label="error []",fontsize=16,color="magenta"];10192 -> 9988[label="",style="dashed", color="red", weight=0]; 10192[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10192 -> 10232[label="",style="dashed", color="magenta", weight=3]; 10192 -> 10233[label="",style="dashed", color="magenta", weight=3]; 10193 -> 9988[label="",style="dashed", color="red", weight=0]; 10193[label="Pos vuz3190 * Neg vuz3170",fontsize=16,color="magenta"];10193 -> 10234[label="",style="dashed", color="magenta", weight=3]; 10193 -> 10235[label="",style="dashed", color="magenta", weight=3]; 10013 -> 9857[label="",style="dashed", color="red", weight=0]; 10013[label="abs (Pos vuz367)",fontsize=16,color="magenta"];10013 -> 10236[label="",style="dashed", color="magenta", weight=3]; 10209[label="vuz505",fontsize=16,color="green",shape="box"];10210[label="vuz367",fontsize=16,color="green",shape="box"];10014 -> 9857[label="",style="dashed", color="red", weight=0]; 10014[label="abs (Pos vuz371)",fontsize=16,color="magenta"];10014 -> 10237[label="",style="dashed", color="magenta", weight=3]; 10211[label="vuz508",fontsize=16,color="green",shape="box"];10212[label="vuz371",fontsize=16,color="green",shape="box"];10213[label="vuz375",fontsize=16,color="green",shape="box"];10214[label="vuz511",fontsize=16,color="green",shape="box"];10215 -> 10042[label="",style="dashed", color="red", weight=0]; 10215[label="abs (Neg vuz375)",fontsize=16,color="magenta"];10215 -> 10257[label="",style="dashed", color="magenta", weight=3]; 10216[label="vuz379",fontsize=16,color="green",shape="box"];10217[label="vuz514",fontsize=16,color="green",shape="box"];10218 -> 10042[label="",style="dashed", color="red", weight=0]; 10218[label="abs (Neg vuz379)",fontsize=16,color="magenta"];10218 -> 10258[label="",style="dashed", color="magenta", weight=3]; 10259[label="absReal1 vuz554 (not (compare vuz555 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10259 -> 10278[label="",style="solid", color="black", weight=3]; 10219[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10220[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10221[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10222[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10289 -> 10297[label="",style="dashed", color="red", weight=0]; 10289[label="gcd0Gcd'1 (vuz549 `rem` vuz542 == fromInt (Pos Zero)) vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="magenta"];10289 -> 10298[label="",style="dashed", color="magenta", weight=3]; 10290[label="primDivNatS vuz416 (Succ vuz54900)",fontsize=16,color="burlywood",shape="triangle"];11111[label="vuz416/Succ vuz4160",fontsize=10,color="white",style="solid",shape="box"];10290 -> 11111[label="",style="solid", color="burlywood", weight=9]; 11111 -> 10299[label="",style="solid", color="burlywood", weight=3]; 11112[label="vuz416/Zero",fontsize=10,color="white",style="solid",shape="box"];10290 -> 11112[label="",style="solid", color="burlywood", weight=9]; 11112 -> 10300[label="",style="solid", color="burlywood", weight=3]; 10291[label="error []",fontsize=16,color="red",shape="box"];10292 -> 10290[label="",style="dashed", color="red", weight=0]; 10292[label="primDivNatS vuz416 (Succ vuz54900)",fontsize=16,color="magenta"];10292 -> 10301[label="",style="dashed", color="magenta", weight=3]; 10224[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10225[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10226[label="Pos vuz3170",fontsize=16,color="green",shape="box"];10227[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10228[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10229[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10230[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10231[label="Neg vuz3190",fontsize=16,color="green",shape="box"];10295 -> 10290[label="",style="dashed", color="red", weight=0]; 10295[label="primDivNatS vuz428 (Succ vuz55200)",fontsize=16,color="magenta"];10295 -> 10302[label="",style="dashed", color="magenta", weight=3]; 10295 -> 10303[label="",style="dashed", color="magenta", weight=3]; 10296 -> 10290[label="",style="dashed", color="red", weight=0]; 10296[label="primDivNatS vuz428 (Succ vuz55200)",fontsize=16,color="magenta"];10296 -> 10304[label="",style="dashed", color="magenta", weight=3]; 10296 -> 10305[label="",style="dashed", color="magenta", weight=3]; 10232[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10233[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10234[label="Neg vuz3170",fontsize=16,color="green",shape="box"];10235[label="Pos vuz3190",fontsize=16,color="green",shape="box"];10236[label="vuz367",fontsize=16,color="green",shape="box"];10237[label="vuz371",fontsize=16,color="green",shape="box"];10257[label="vuz375",fontsize=16,color="green",shape="box"];10258[label="vuz379",fontsize=16,color="green",shape="box"];10278[label="absReal1 vuz554 (not (primCmpInt vuz555 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11113[label="vuz555/Pos vuz5550",fontsize=10,color="white",style="solid",shape="box"];10278 -> 11113[label="",style="solid", color="burlywood", weight=9]; 11113 -> 10293[label="",style="solid", color="burlywood", weight=3]; 11114[label="vuz555/Neg vuz5550",fontsize=10,color="white",style="solid",shape="box"];10278 -> 11114[label="",style="solid", color="burlywood", weight=9]; 11114 -> 10294[label="",style="solid", color="burlywood", weight=3]; 10298 -> 9987[label="",style="dashed", color="red", weight=0]; 10298[label="vuz549 `rem` vuz542 == fromInt (Pos Zero)",fontsize=16,color="magenta"];10298 -> 10306[label="",style="dashed", color="magenta", weight=3]; 10297[label="gcd0Gcd'1 vuz556 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="burlywood",shape="triangle"];11115[label="vuz556/False",fontsize=10,color="white",style="solid",shape="box"];10297 -> 11115[label="",style="solid", color="burlywood", weight=9]; 11115 -> 10307[label="",style="solid", color="burlywood", weight=3]; 11116[label="vuz556/True",fontsize=10,color="white",style="solid",shape="box"];10297 -> 11116[label="",style="solid", color="burlywood", weight=9]; 11116 -> 10308[label="",style="solid", color="burlywood", weight=3]; 10299[label="primDivNatS (Succ vuz4160) (Succ vuz54900)",fontsize=16,color="black",shape="box"];10299 -> 10313[label="",style="solid", color="black", weight=3]; 10300[label="primDivNatS Zero (Succ vuz54900)",fontsize=16,color="black",shape="box"];10300 -> 10314[label="",style="solid", color="black", weight=3]; 10301[label="vuz54900",fontsize=16,color="green",shape="box"];10302[label="vuz428",fontsize=16,color="green",shape="box"];10303[label="vuz55200",fontsize=16,color="green",shape="box"];10304[label="vuz428",fontsize=16,color="green",shape="box"];10305[label="vuz55200",fontsize=16,color="green",shape="box"];10293[label="absReal1 vuz554 (not (primCmpInt (Pos vuz5550) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11117[label="vuz5550/Succ vuz55500",fontsize=10,color="white",style="solid",shape="box"];10293 -> 11117[label="",style="solid", color="burlywood", weight=9]; 11117 -> 10309[label="",style="solid", color="burlywood", weight=3]; 11118[label="vuz5550/Zero",fontsize=10,color="white",style="solid",shape="box"];10293 -> 11118[label="",style="solid", color="burlywood", weight=9]; 11118 -> 10310[label="",style="solid", color="burlywood", weight=3]; 10294[label="absReal1 vuz554 (not (primCmpInt (Neg vuz5550) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];11119[label="vuz5550/Succ vuz55500",fontsize=10,color="white",style="solid",shape="box"];10294 -> 11119[label="",style="solid", color="burlywood", weight=9]; 11119 -> 10311[label="",style="solid", color="burlywood", weight=3]; 11120[label="vuz5550/Zero",fontsize=10,color="white",style="solid",shape="box"];10294 -> 11120[label="",style="solid", color="burlywood", weight=9]; 11120 -> 10312[label="",style="solid", color="burlywood", weight=3]; 10306[label="vuz549 `rem` vuz542",fontsize=16,color="black",shape="triangle"];10306 -> 10315[label="",style="solid", color="black", weight=3]; 10307[label="gcd0Gcd'1 False vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10307 -> 10316[label="",style="solid", color="black", weight=3]; 10308[label="gcd0Gcd'1 True vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="black",shape="box"];10308 -> 10317[label="",style="solid", color="black", weight=3]; 10313[label="primDivNatS0 vuz4160 vuz54900 (primGEqNatS vuz4160 vuz54900)",fontsize=16,color="burlywood",shape="box"];11121[label="vuz4160/Succ vuz41600",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11121[label="",style="solid", color="burlywood", weight=9]; 11121 -> 10322[label="",style="solid", color="burlywood", weight=3]; 11122[label="vuz4160/Zero",fontsize=10,color="white",style="solid",shape="box"];10313 -> 11122[label="",style="solid", color="burlywood", weight=9]; 11122 -> 10323[label="",style="solid", color="burlywood", weight=3]; 10314[label="Zero",fontsize=16,color="green",shape="box"];10309[label="absReal1 vuz554 (not (primCmpInt (Pos (Succ vuz55500)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10309 -> 10318[label="",style="solid", color="black", weight=3]; 10310[label="absReal1 vuz554 (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10310 -> 10319[label="",style="solid", color="black", weight=3]; 10311[label="absReal1 vuz554 (not (primCmpInt (Neg (Succ vuz55500)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10311 -> 10320[label="",style="solid", color="black", weight=3]; 10312[label="absReal1 vuz554 (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];10312 -> 10321[label="",style="solid", color="black", weight=3]; 10315[label="primRemInt vuz549 vuz542",fontsize=16,color="burlywood",shape="box"];11123[label="vuz549/Pos vuz5490",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11123[label="",style="solid", color="burlywood", weight=9]; 11123 -> 10324[label="",style="solid", color="burlywood", weight=3]; 11124[label="vuz549/Neg vuz5490",fontsize=10,color="white",style="solid",shape="box"];10315 -> 11124[label="",style="solid", color="burlywood", weight=9]; 11124 -> 10325[label="",style="solid", color="burlywood", weight=3]; 10316 -> 10326[label="",style="dashed", color="red", weight=0]; 10316[label="gcd0Gcd'0 vuz542 (vuz549 `rem` vuz542)",fontsize=16,color="magenta"];10316 -> 10327[label="",style="dashed", color="magenta", weight=3]; 10317[label="vuz542",fontsize=16,color="green",shape="box"];10322[label="primDivNatS0 (Succ vuz41600) vuz54900 (primGEqNatS (Succ vuz41600) vuz54900)",fontsize=16,color="burlywood",shape="box"];11125[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11125[label="",style="solid", color="burlywood", weight=9]; 11125 -> 10328[label="",style="solid", color="burlywood", weight=3]; 11126[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10322 -> 11126[label="",style="solid", color="burlywood", weight=9]; 11126 -> 10329[label="",style="solid", color="burlywood", weight=3]; 10323[label="primDivNatS0 Zero vuz54900 (primGEqNatS Zero vuz54900)",fontsize=16,color="burlywood",shape="box"];11127[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10323 -> 11127[label="",style="solid", color="burlywood", weight=9]; 11127 -> 10330[label="",style="solid", color="burlywood", weight=3]; 11128[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10323 -> 11128[label="",style="solid", color="burlywood", weight=9]; 11128 -> 10331[label="",style="solid", color="burlywood", weight=3]; 10318[label="absReal1 vuz554 (not (primCmpInt (Pos (Succ vuz55500)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10318 -> 10332[label="",style="solid", color="black", weight=3]; 10319[label="absReal1 vuz554 (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10319 -> 10333[label="",style="solid", color="black", weight=3]; 10320[label="absReal1 vuz554 (not (primCmpInt (Neg (Succ vuz55500)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10320 -> 10334[label="",style="solid", color="black", weight=3]; 10321[label="absReal1 vuz554 (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];10321 -> 10335[label="",style="solid", color="black", weight=3]; 10324[label="primRemInt (Pos vuz5490) vuz542",fontsize=16,color="burlywood",shape="box"];11129[label="vuz542/Pos vuz5420",fontsize=10,color="white",style="solid",shape="box"];10324 -> 11129[label="",style="solid", color="burlywood", weight=9]; 11129 -> 10336[label="",style="solid", color="burlywood", weight=3]; 11130[label="vuz542/Neg vuz5420",fontsize=10,color="white",style="solid",shape="box"];10324 -> 11130[label="",style="solid", color="burlywood", weight=9]; 11130 -> 10337[label="",style="solid", color="burlywood", weight=3]; 10325[label="primRemInt (Neg vuz5490) vuz542",fontsize=16,color="burlywood",shape="box"];11131[label="vuz542/Pos vuz5420",fontsize=10,color="white",style="solid",shape="box"];10325 -> 11131[label="",style="solid", color="burlywood", weight=9]; 11131 -> 10338[label="",style="solid", color="burlywood", weight=3]; 11132[label="vuz542/Neg vuz5420",fontsize=10,color="white",style="solid",shape="box"];10325 -> 11132[label="",style="solid", color="burlywood", weight=9]; 11132 -> 10339[label="",style="solid", color="burlywood", weight=3]; 10327 -> 10306[label="",style="dashed", color="red", weight=0]; 10327[label="vuz549 `rem` vuz542",fontsize=16,color="magenta"];10326[label="gcd0Gcd'0 vuz542 vuz557",fontsize=16,color="black",shape="triangle"];10326 -> 10340[label="",style="solid", color="black", weight=3]; 10328[label="primDivNatS0 (Succ vuz41600) (Succ vuz549000) (primGEqNatS (Succ vuz41600) (Succ vuz549000))",fontsize=16,color="black",shape="box"];10328 -> 10341[label="",style="solid", color="black", weight=3]; 10329[label="primDivNatS0 (Succ vuz41600) Zero (primGEqNatS (Succ vuz41600) Zero)",fontsize=16,color="black",shape="box"];10329 -> 10342[label="",style="solid", color="black", weight=3]; 10330[label="primDivNatS0 Zero (Succ vuz549000) (primGEqNatS Zero (Succ vuz549000))",fontsize=16,color="black",shape="box"];10330 -> 10343[label="",style="solid", color="black", weight=3]; 10331[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10331 -> 10344[label="",style="solid", color="black", weight=3]; 10332[label="absReal1 vuz554 (not (primCmpNat (Succ vuz55500) Zero == LT))",fontsize=16,color="black",shape="box"];10332 -> 10345[label="",style="solid", color="black", weight=3]; 10333[label="absReal1 vuz554 (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];10333 -> 10346[label="",style="solid", color="black", weight=3]; 10334[label="absReal1 vuz554 (not (LT == LT))",fontsize=16,color="black",shape="box"];10334 -> 10347[label="",style="solid", color="black", weight=3]; 10335 -> 10333[label="",style="dashed", color="red", weight=0]; 10335[label="absReal1 vuz554 (not (EQ == LT))",fontsize=16,color="magenta"];10336[label="primRemInt (Pos vuz5490) (Pos vuz5420)",fontsize=16,color="burlywood",shape="box"];11133[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10336 -> 11133[label="",style="solid", color="burlywood", weight=9]; 11133 -> 10348[label="",style="solid", color="burlywood", weight=3]; 11134[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10336 -> 11134[label="",style="solid", color="burlywood", weight=9]; 11134 -> 10349[label="",style="solid", color="burlywood", weight=3]; 10337[label="primRemInt (Pos vuz5490) (Neg vuz5420)",fontsize=16,color="burlywood",shape="box"];11135[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10337 -> 11135[label="",style="solid", color="burlywood", weight=9]; 11135 -> 10350[label="",style="solid", color="burlywood", weight=3]; 11136[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10337 -> 11136[label="",style="solid", color="burlywood", weight=9]; 11136 -> 10351[label="",style="solid", color="burlywood", weight=3]; 10338[label="primRemInt (Neg vuz5490) (Pos vuz5420)",fontsize=16,color="burlywood",shape="box"];11137[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10338 -> 11137[label="",style="solid", color="burlywood", weight=9]; 11137 -> 10352[label="",style="solid", color="burlywood", weight=3]; 11138[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10338 -> 11138[label="",style="solid", color="burlywood", weight=9]; 11138 -> 10353[label="",style="solid", color="burlywood", weight=3]; 10339[label="primRemInt (Neg vuz5490) (Neg vuz5420)",fontsize=16,color="burlywood",shape="box"];11139[label="vuz5420/Succ vuz54200",fontsize=10,color="white",style="solid",shape="box"];10339 -> 11139[label="",style="solid", color="burlywood", weight=9]; 11139 -> 10354[label="",style="solid", color="burlywood", weight=3]; 11140[label="vuz5420/Zero",fontsize=10,color="white",style="solid",shape="box"];10339 -> 11140[label="",style="solid", color="burlywood", weight=9]; 11140 -> 10355[label="",style="solid", color="burlywood", weight=3]; 10340 -> 10252[label="",style="dashed", color="red", weight=0]; 10340[label="gcd0Gcd' vuz557 (vuz542 `rem` vuz557)",fontsize=16,color="magenta"];10340 -> 10356[label="",style="dashed", color="magenta", weight=3]; 10340 -> 10357[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10629[label="",style="dashed", color="red", weight=0]; 10341[label="primDivNatS0 (Succ vuz41600) (Succ vuz549000) (primGEqNatS vuz41600 vuz549000)",fontsize=16,color="magenta"];10341 -> 10630[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10631[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10632[label="",style="dashed", color="magenta", weight=3]; 10341 -> 10633[label="",style="dashed", color="magenta", weight=3]; 10342[label="primDivNatS0 (Succ vuz41600) Zero True",fontsize=16,color="black",shape="box"];10342 -> 10360[label="",style="solid", color="black", weight=3]; 10343[label="primDivNatS0 Zero (Succ vuz549000) False",fontsize=16,color="black",shape="box"];10343 -> 10361[label="",style="solid", color="black", weight=3]; 10344[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];10344 -> 10362[label="",style="solid", color="black", weight=3]; 10345[label="absReal1 vuz554 (not (GT == LT))",fontsize=16,color="black",shape="box"];10345 -> 10363[label="",style="solid", color="black", weight=3]; 10346[label="absReal1 vuz554 (not False)",fontsize=16,color="black",shape="triangle"];10346 -> 10364[label="",style="solid", color="black", weight=3]; 10347[label="absReal1 vuz554 (not True)",fontsize=16,color="black",shape="box"];10347 -> 10365[label="",style="solid", color="black", weight=3]; 10348[label="primRemInt (Pos vuz5490) (Pos (Succ vuz54200))",fontsize=16,color="black",shape="box"];10348 -> 10366[label="",style="solid", color="black", weight=3]; 10349[label="primRemInt (Pos vuz5490) (Pos Zero)",fontsize=16,color="black",shape="box"];10349 -> 10367[label="",style="solid", color="black", weight=3]; 10350[label="primRemInt (Pos vuz5490) (Neg (Succ vuz54200))",fontsize=16,color="black",shape="box"];10350 -> 10368[label="",style="solid", color="black", weight=3]; 10351[label="primRemInt (Pos vuz5490) (Neg Zero)",fontsize=16,color="black",shape="box"];10351 -> 10369[label="",style="solid", color="black", weight=3]; 10352[label="primRemInt (Neg vuz5490) (Pos (Succ vuz54200))",fontsize=16,color="black",shape="box"];10352 -> 10370[label="",style="solid", color="black", weight=3]; 10353[label="primRemInt (Neg vuz5490) (Pos Zero)",fontsize=16,color="black",shape="box"];10353 -> 10371[label="",style="solid", color="black", weight=3]; 10354[label="primRemInt (Neg vuz5490) (Neg (Succ vuz54200))",fontsize=16,color="black",shape="box"];10354 -> 10372[label="",style="solid", color="black", weight=3]; 10355[label="primRemInt (Neg vuz5490) (Neg Zero)",fontsize=16,color="black",shape="box"];10355 -> 10373[label="",style="solid", color="black", weight=3]; 10356[label="vuz542",fontsize=16,color="green",shape="box"];10357[label="vuz557",fontsize=16,color="green",shape="box"];10630[label="vuz41600",fontsize=16,color="green",shape="box"];10631[label="vuz41600",fontsize=16,color="green",shape="box"];10632[label="vuz549000",fontsize=16,color="green",shape="box"];10633[label="vuz549000",fontsize=16,color="green",shape="box"];10629[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS vuz576 vuz577)",fontsize=16,color="burlywood",shape="triangle"];11141[label="vuz576/Succ vuz5760",fontsize=10,color="white",style="solid",shape="box"];10629 -> 11141[label="",style="solid", color="burlywood", weight=9]; 11141 -> 10662[label="",style="solid", color="burlywood", weight=3]; 11142[label="vuz576/Zero",fontsize=10,color="white",style="solid",shape="box"];10629 -> 11142[label="",style="solid", color="burlywood", weight=9]; 11142 -> 10663[label="",style="solid", color="burlywood", weight=3]; 10360[label="Succ (primDivNatS (primMinusNatS (Succ vuz41600) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];10360 -> 10378[label="",style="dashed", color="green", weight=3]; 10361[label="Zero",fontsize=16,color="green",shape="box"];10362[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];10362 -> 10379[label="",style="dashed", color="green", weight=3]; 10363 -> 10346[label="",style="dashed", color="red", weight=0]; 10363[label="absReal1 vuz554 (not False)",fontsize=16,color="magenta"];10364[label="absReal1 vuz554 True",fontsize=16,color="black",shape="box"];10364 -> 10380[label="",style="solid", color="black", weight=3]; 10365[label="absReal1 vuz554 False",fontsize=16,color="black",shape="box"];10365 -> 10381[label="",style="solid", color="black", weight=3]; 10366[label="Pos (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10366 -> 10382[label="",style="dashed", color="green", weight=3]; 10367 -> 10275[label="",style="dashed", color="red", weight=0]; 10367[label="error []",fontsize=16,color="magenta"];10368[label="Pos (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10368 -> 10383[label="",style="dashed", color="green", weight=3]; 10369 -> 10275[label="",style="dashed", color="red", weight=0]; 10369[label="error []",fontsize=16,color="magenta"];10370[label="Neg (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10370 -> 10384[label="",style="dashed", color="green", weight=3]; 10371 -> 10275[label="",style="dashed", color="red", weight=0]; 10371[label="error []",fontsize=16,color="magenta"];10372[label="Neg (primModNatS vuz5490 (Succ vuz54200))",fontsize=16,color="green",shape="box"];10372 -> 10385[label="",style="dashed", color="green", weight=3]; 10373 -> 10275[label="",style="dashed", color="red", weight=0]; 10373[label="error []",fontsize=16,color="magenta"];10662[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) vuz577)",fontsize=16,color="burlywood",shape="box"];11143[label="vuz577/Succ vuz5770",fontsize=10,color="white",style="solid",shape="box"];10662 -> 11143[label="",style="solid", color="burlywood", weight=9]; 11143 -> 10670[label="",style="solid", color="burlywood", weight=3]; 11144[label="vuz577/Zero",fontsize=10,color="white",style="solid",shape="box"];10662 -> 11144[label="",style="solid", color="burlywood", weight=9]; 11144 -> 10671[label="",style="solid", color="burlywood", weight=3]; 10663[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero vuz577)",fontsize=16,color="burlywood",shape="box"];11145[label="vuz577/Succ vuz5770",fontsize=10,color="white",style="solid",shape="box"];10663 -> 11145[label="",style="solid", color="burlywood", weight=9]; 11145 -> 10672[label="",style="solid", color="burlywood", weight=3]; 11146[label="vuz577/Zero",fontsize=10,color="white",style="solid",shape="box"];10663 -> 11146[label="",style="solid", color="burlywood", weight=9]; 11146 -> 10673[label="",style="solid", color="burlywood", weight=3]; 10378 -> 10290[label="",style="dashed", color="red", weight=0]; 10378[label="primDivNatS (primMinusNatS (Succ vuz41600) Zero) (Succ Zero)",fontsize=16,color="magenta"];10378 -> 10390[label="",style="dashed", color="magenta", weight=3]; 10378 -> 10391[label="",style="dashed", color="magenta", weight=3]; 10379 -> 10290[label="",style="dashed", color="red", weight=0]; 10379[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];10379 -> 10392[label="",style="dashed", color="magenta", weight=3]; 10379 -> 10393[label="",style="dashed", color="magenta", weight=3]; 10380[label="vuz554",fontsize=16,color="green",shape="box"];10381[label="absReal0 vuz554 otherwise",fontsize=16,color="black",shape="box"];10381 -> 10394[label="",style="solid", color="black", weight=3]; 10382[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="burlywood",shape="triangle"];11147[label="vuz5490/Succ vuz54900",fontsize=10,color="white",style="solid",shape="box"];10382 -> 11147[label="",style="solid", color="burlywood", weight=9]; 11147 -> 10395[label="",style="solid", color="burlywood", weight=3]; 11148[label="vuz5490/Zero",fontsize=10,color="white",style="solid",shape="box"];10382 -> 11148[label="",style="solid", color="burlywood", weight=9]; 11148 -> 10396[label="",style="solid", color="burlywood", weight=3]; 10383 -> 10382[label="",style="dashed", color="red", weight=0]; 10383[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10383 -> 10397[label="",style="dashed", color="magenta", weight=3]; 10384 -> 10382[label="",style="dashed", color="red", weight=0]; 10384[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10384 -> 10398[label="",style="dashed", color="magenta", weight=3]; 10385 -> 10382[label="",style="dashed", color="red", weight=0]; 10385[label="primModNatS vuz5490 (Succ vuz54200)",fontsize=16,color="magenta"];10385 -> 10399[label="",style="dashed", color="magenta", weight=3]; 10385 -> 10400[label="",style="dashed", color="magenta", weight=3]; 10670[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) (Succ vuz5770))",fontsize=16,color="black",shape="box"];10670 -> 10682[label="",style="solid", color="black", weight=3]; 10671[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS (Succ vuz5760) Zero)",fontsize=16,color="black",shape="box"];10671 -> 10683[label="",style="solid", color="black", weight=3]; 10672[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero (Succ vuz5770))",fontsize=16,color="black",shape="box"];10672 -> 10684[label="",style="solid", color="black", weight=3]; 10673[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10673 -> 10685[label="",style="solid", color="black", weight=3]; 10390[label="primMinusNatS (Succ vuz41600) Zero",fontsize=16,color="black",shape="triangle"];10390 -> 10406[label="",style="solid", color="black", weight=3]; 10391[label="Zero",fontsize=16,color="green",shape="box"];10392[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];10392 -> 10407[label="",style="solid", color="black", weight=3]; 10393[label="Zero",fontsize=16,color="green",shape="box"];10394[label="absReal0 vuz554 True",fontsize=16,color="black",shape="box"];10394 -> 10408[label="",style="solid", color="black", weight=3]; 10395[label="primModNatS (Succ vuz54900) (Succ vuz54200)",fontsize=16,color="black",shape="box"];10395 -> 10409[label="",style="solid", color="black", weight=3]; 10396[label="primModNatS Zero (Succ vuz54200)",fontsize=16,color="black",shape="box"];10396 -> 10410[label="",style="solid", color="black", weight=3]; 10397[label="vuz54200",fontsize=16,color="green",shape="box"];10398[label="vuz5490",fontsize=16,color="green",shape="box"];10399[label="vuz5490",fontsize=16,color="green",shape="box"];10400[label="vuz54200",fontsize=16,color="green",shape="box"];10682 -> 10629[label="",style="dashed", color="red", weight=0]; 10682[label="primDivNatS0 (Succ vuz574) (Succ vuz575) (primGEqNatS vuz5760 vuz5770)",fontsize=16,color="magenta"];10682 -> 10692[label="",style="dashed", color="magenta", weight=3]; 10682 -> 10693[label="",style="dashed", color="magenta", weight=3]; 10683[label="primDivNatS0 (Succ vuz574) (Succ vuz575) True",fontsize=16,color="black",shape="triangle"];10683 -> 10694[label="",style="solid", color="black", weight=3]; 10684[label="primDivNatS0 (Succ vuz574) (Succ vuz575) False",fontsize=16,color="black",shape="box"];10684 -> 10695[label="",style="solid", color="black", weight=3]; 10685 -> 10683[label="",style="dashed", color="red", weight=0]; 10685[label="primDivNatS0 (Succ vuz574) (Succ vuz575) True",fontsize=16,color="magenta"];10406[label="Succ vuz41600",fontsize=16,color="green",shape="box"];10407[label="Zero",fontsize=16,color="green",shape="box"];10408 -> 7115[label="",style="dashed", color="red", weight=0]; 10408[label="`negate` vuz554",fontsize=16,color="magenta"];10408 -> 10417[label="",style="dashed", color="magenta", weight=3]; 10409[label="primModNatS0 vuz54900 vuz54200 (primGEqNatS vuz54900 vuz54200)",fontsize=16,color="burlywood",shape="box"];11149[label="vuz54900/Succ vuz549000",fontsize=10,color="white",style="solid",shape="box"];10409 -> 11149[label="",style="solid", color="burlywood", weight=9]; 11149 -> 10418[label="",style="solid", color="burlywood", weight=3]; 11150[label="vuz54900/Zero",fontsize=10,color="white",style="solid",shape="box"];10409 -> 11150[label="",style="solid", color="burlywood", weight=9]; 11150 -> 10419[label="",style="solid", color="burlywood", weight=3]; 10410[label="Zero",fontsize=16,color="green",shape="box"];10692[label="vuz5760",fontsize=16,color="green",shape="box"];10693[label="vuz5770",fontsize=16,color="green",shape="box"];10694[label="Succ (primDivNatS (primMinusNatS (Succ vuz574) (Succ vuz575)) (Succ (Succ vuz575)))",fontsize=16,color="green",shape="box"];10694 -> 10700[label="",style="dashed", color="green", weight=3]; 10695[label="Zero",fontsize=16,color="green",shape="box"];10417[label="vuz554",fontsize=16,color="green",shape="box"];10418[label="primModNatS0 (Succ vuz549000) vuz54200 (primGEqNatS (Succ vuz549000) vuz54200)",fontsize=16,color="burlywood",shape="box"];11151[label="vuz54200/Succ vuz542000",fontsize=10,color="white",style="solid",shape="box"];10418 -> 11151[label="",style="solid", color="burlywood", weight=9]; 11151 -> 10428[label="",style="solid", color="burlywood", weight=3]; 11152[label="vuz54200/Zero",fontsize=10,color="white",style="solid",shape="box"];10418 -> 11152[label="",style="solid", color="burlywood", weight=9]; 11152 -> 10429[label="",style="solid", color="burlywood", weight=3]; 10419[label="primModNatS0 Zero vuz54200 (primGEqNatS Zero vuz54200)",fontsize=16,color="burlywood",shape="box"];11153[label="vuz54200/Succ vuz542000",fontsize=10,color="white",style="solid",shape="box"];10419 -> 11153[label="",style="solid", color="burlywood", weight=9]; 11153 -> 10430[label="",style="solid", color="burlywood", weight=3]; 11154[label="vuz54200/Zero",fontsize=10,color="white",style="solid",shape="box"];10419 -> 11154[label="",style="solid", color="burlywood", weight=9]; 11154 -> 10431[label="",style="solid", color="burlywood", weight=3]; 10700 -> 10290[label="",style="dashed", color="red", weight=0]; 10700[label="primDivNatS (primMinusNatS (Succ vuz574) (Succ vuz575)) (Succ (Succ vuz575))",fontsize=16,color="magenta"];10700 -> 10704[label="",style="dashed", color="magenta", weight=3]; 10700 -> 10705[label="",style="dashed", color="magenta", weight=3]; 10428[label="primModNatS0 (Succ vuz549000) (Succ vuz542000) (primGEqNatS (Succ vuz549000) (Succ vuz542000))",fontsize=16,color="black",shape="box"];10428 -> 10439[label="",style="solid", color="black", weight=3]; 10429[label="primModNatS0 (Succ vuz549000) Zero (primGEqNatS (Succ vuz549000) Zero)",fontsize=16,color="black",shape="box"];10429 -> 10440[label="",style="solid", color="black", weight=3]; 10430[label="primModNatS0 Zero (Succ vuz542000) (primGEqNatS Zero (Succ vuz542000))",fontsize=16,color="black",shape="box"];10430 -> 10441[label="",style="solid", color="black", weight=3]; 10431[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10431 -> 10442[label="",style="solid", color="black", weight=3]; 10704[label="primMinusNatS (Succ vuz574) (Succ vuz575)",fontsize=16,color="black",shape="box"];10704 -> 10709[label="",style="solid", color="black", weight=3]; 10705[label="Succ vuz575",fontsize=16,color="green",shape="box"];10439 -> 10769[label="",style="dashed", color="red", weight=0]; 10439[label="primModNatS0 (Succ vuz549000) (Succ vuz542000) (primGEqNatS vuz549000 vuz542000)",fontsize=16,color="magenta"];10439 -> 10770[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10771[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10772[label="",style="dashed", color="magenta", weight=3]; 10439 -> 10773[label="",style="dashed", color="magenta", weight=3]; 10440[label="primModNatS0 (Succ vuz549000) Zero True",fontsize=16,color="black",shape="box"];10440 -> 10452[label="",style="solid", color="black", weight=3]; 10441[label="primModNatS0 Zero (Succ vuz542000) False",fontsize=16,color="black",shape="box"];10441 -> 10453[label="",style="solid", color="black", weight=3]; 10442[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];10442 -> 10454[label="",style="solid", color="black", weight=3]; 10709[label="primMinusNatS vuz574 vuz575",fontsize=16,color="burlywood",shape="triangle"];11155[label="vuz574/Succ vuz5740",fontsize=10,color="white",style="solid",shape="box"];10709 -> 11155[label="",style="solid", color="burlywood", weight=9]; 11155 -> 10712[label="",style="solid", color="burlywood", weight=3]; 11156[label="vuz574/Zero",fontsize=10,color="white",style="solid",shape="box"];10709 -> 11156[label="",style="solid", color="burlywood", weight=9]; 11156 -> 10713[label="",style="solid", color="burlywood", weight=3]; 10770[label="vuz549000",fontsize=16,color="green",shape="box"];10771[label="vuz542000",fontsize=16,color="green",shape="box"];10772[label="vuz549000",fontsize=16,color="green",shape="box"];10773[label="vuz542000",fontsize=16,color="green",shape="box"];10769[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS vuz596 vuz597)",fontsize=16,color="burlywood",shape="triangle"];11157[label="vuz596/Succ vuz5960",fontsize=10,color="white",style="solid",shape="box"];10769 -> 11157[label="",style="solid", color="burlywood", weight=9]; 11157 -> 10802[label="",style="solid", color="burlywood", weight=3]; 11158[label="vuz596/Zero",fontsize=10,color="white",style="solid",shape="box"];10769 -> 11158[label="",style="solid", color="burlywood", weight=9]; 11158 -> 10803[label="",style="solid", color="burlywood", weight=3]; 10452 -> 10382[label="",style="dashed", color="red", weight=0]; 10452[label="primModNatS (primMinusNatS (Succ vuz549000) Zero) (Succ Zero)",fontsize=16,color="magenta"];10452 -> 10467[label="",style="dashed", color="magenta", weight=3]; 10452 -> 10468[label="",style="dashed", color="magenta", weight=3]; 10453[label="Succ Zero",fontsize=16,color="green",shape="box"];10454 -> 10382[label="",style="dashed", color="red", weight=0]; 10454[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];10454 -> 10469[label="",style="dashed", color="magenta", weight=3]; 10454 -> 10470[label="",style="dashed", color="magenta", weight=3]; 10712[label="primMinusNatS (Succ vuz5740) vuz575",fontsize=16,color="burlywood",shape="box"];11159[label="vuz575/Succ vuz5750",fontsize=10,color="white",style="solid",shape="box"];10712 -> 11159[label="",style="solid", color="burlywood", weight=9]; 11159 -> 10745[label="",style="solid", color="burlywood", weight=3]; 11160[label="vuz575/Zero",fontsize=10,color="white",style="solid",shape="box"];10712 -> 11160[label="",style="solid", color="burlywood", weight=9]; 11160 -> 10746[label="",style="solid", color="burlywood", weight=3]; 10713[label="primMinusNatS Zero vuz575",fontsize=16,color="burlywood",shape="box"];11161[label="vuz575/Succ vuz5750",fontsize=10,color="white",style="solid",shape="box"];10713 -> 11161[label="",style="solid", color="burlywood", weight=9]; 11161 -> 10747[label="",style="solid", color="burlywood", weight=3]; 11162[label="vuz575/Zero",fontsize=10,color="white",style="solid",shape="box"];10713 -> 11162[label="",style="solid", color="burlywood", weight=9]; 11162 -> 10748[label="",style="solid", color="burlywood", weight=3]; 10802[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) vuz597)",fontsize=16,color="burlywood",shape="box"];11163[label="vuz597/Succ vuz5970",fontsize=10,color="white",style="solid",shape="box"];10802 -> 11163[label="",style="solid", color="burlywood", weight=9]; 11163 -> 10804[label="",style="solid", color="burlywood", weight=3]; 11164[label="vuz597/Zero",fontsize=10,color="white",style="solid",shape="box"];10802 -> 11164[label="",style="solid", color="burlywood", weight=9]; 11164 -> 10805[label="",style="solid", color="burlywood", weight=3]; 10803[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero vuz597)",fontsize=16,color="burlywood",shape="box"];11165[label="vuz597/Succ vuz5970",fontsize=10,color="white",style="solid",shape="box"];10803 -> 11165[label="",style="solid", color="burlywood", weight=9]; 11165 -> 10806[label="",style="solid", color="burlywood", weight=3]; 11166[label="vuz597/Zero",fontsize=10,color="white",style="solid",shape="box"];10803 -> 11166[label="",style="solid", color="burlywood", weight=9]; 11166 -> 10807[label="",style="solid", color="burlywood", weight=3]; 10467 -> 10390[label="",style="dashed", color="red", weight=0]; 10467[label="primMinusNatS (Succ vuz549000) Zero",fontsize=16,color="magenta"];10467 -> 10482[label="",style="dashed", color="magenta", weight=3]; 10468[label="Zero",fontsize=16,color="green",shape="box"];10469 -> 10392[label="",style="dashed", color="red", weight=0]; 10469[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];10470[label="Zero",fontsize=16,color="green",shape="box"];10745[label="primMinusNatS (Succ vuz5740) (Succ vuz5750)",fontsize=16,color="black",shape="box"];10745 -> 10755[label="",style="solid", color="black", weight=3]; 10746[label="primMinusNatS (Succ vuz5740) Zero",fontsize=16,color="black",shape="box"];10746 -> 10756[label="",style="solid", color="black", weight=3]; 10747[label="primMinusNatS Zero (Succ vuz5750)",fontsize=16,color="black",shape="box"];10747 -> 10757[label="",style="solid", color="black", weight=3]; 10748[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];10748 -> 10758[label="",style="solid", color="black", weight=3]; 10804[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) (Succ vuz5970))",fontsize=16,color="black",shape="box"];10804 -> 10808[label="",style="solid", color="black", weight=3]; 10805[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS (Succ vuz5960) Zero)",fontsize=16,color="black",shape="box"];10805 -> 10809[label="",style="solid", color="black", weight=3]; 10806[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero (Succ vuz5970))",fontsize=16,color="black",shape="box"];10806 -> 10810[label="",style="solid", color="black", weight=3]; 10807[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];10807 -> 10811[label="",style="solid", color="black", weight=3]; 10482[label="vuz549000",fontsize=16,color="green",shape="box"];10755 -> 10709[label="",style="dashed", color="red", weight=0]; 10755[label="primMinusNatS vuz5740 vuz5750",fontsize=16,color="magenta"];10755 -> 10765[label="",style="dashed", color="magenta", weight=3]; 10755 -> 10766[label="",style="dashed", color="magenta", weight=3]; 10756[label="Succ vuz5740",fontsize=16,color="green",shape="box"];10757[label="Zero",fontsize=16,color="green",shape="box"];10758[label="Zero",fontsize=16,color="green",shape="box"];10808 -> 10769[label="",style="dashed", color="red", weight=0]; 10808[label="primModNatS0 (Succ vuz594) (Succ vuz595) (primGEqNatS vuz5960 vuz5970)",fontsize=16,color="magenta"];10808 -> 10812[label="",style="dashed", color="magenta", weight=3]; 10808 -> 10813[label="",style="dashed", color="magenta", weight=3]; 10809[label="primModNatS0 (Succ vuz594) (Succ vuz595) True",fontsize=16,color="black",shape="triangle"];10809 -> 10814[label="",style="solid", color="black", weight=3]; 10810[label="primModNatS0 (Succ vuz594) (Succ vuz595) False",fontsize=16,color="black",shape="box"];10810 -> 10815[label="",style="solid", color="black", weight=3]; 10811 -> 10809[label="",style="dashed", color="red", weight=0]; 10811[label="primModNatS0 (Succ vuz594) (Succ vuz595) True",fontsize=16,color="magenta"];10765[label="vuz5740",fontsize=16,color="green",shape="box"];10766[label="vuz5750",fontsize=16,color="green",shape="box"];10812[label="vuz5970",fontsize=16,color="green",shape="box"];10813[label="vuz5960",fontsize=16,color="green",shape="box"];10814 -> 10382[label="",style="dashed", color="red", weight=0]; 10814[label="primModNatS (primMinusNatS (Succ vuz594) (Succ vuz595)) (Succ (Succ vuz595))",fontsize=16,color="magenta"];10814 -> 10816[label="",style="dashed", color="magenta", weight=3]; 10814 -> 10817[label="",style="dashed", color="magenta", weight=3]; 10815[label="Succ (Succ vuz594)",fontsize=16,color="green",shape="box"];10816 -> 10709[label="",style="dashed", color="red", weight=0]; 10816[label="primMinusNatS (Succ vuz594) (Succ vuz595)",fontsize=16,color="magenta"];10816 -> 10818[label="",style="dashed", color="magenta", weight=3]; 10816 -> 10819[label="",style="dashed", color="magenta", weight=3]; 10817[label="Succ vuz595",fontsize=16,color="green",shape="box"];10818[label="Succ vuz594",fontsize=16,color="green",shape="box"];10819[label="Succ vuz595",fontsize=16,color="green",shape="box"];} ---------------------------------------- (489) TRUE